MMSDT.compass()
指南针功能,获取当前镜头的方位值。tips:注意需要根据“实际位置”做初始校准。
构造函数
MMSDT.compass()
得到当前镜头的方位值。
html
<div style="position:absolute;top:30px;right:30px; width: 250px;">
<div id="compass1" style="position:absolute; width:250px; height:250px; z-index:1; top:0px;right:0px; background-image:url(textures/compass0.png); background-size: 100% 100%"></div>
<div id="compass2" style="position:absolute; width:250px; height:250px; z-index:2; top:0px;right:0px; background-image:url(textures/compass1.png); background-size: 100% 100%;"></div>
<div id="compass3">0度</div>
</div>
代码示例
var MMS3D_exceptionMesh = []; //需要材质拆分的网格
var MMS3D_instancingMesh = ["shu"]; //合并实例化网格
//初始化场景
MMSDT.initScene( false, MMS3D_exceptionMesh, MMS3D_instancingMesh );
//设置第3人称鼠标控制器
controls3.maxPolarAngle = Math.PI*0.49; //向下,最大角度限制
controls3.maxDistance = 1000; //最远距离限制
controls3.screenSpacePanning = false; //右键平移是否上下移动
controls3.enableDamping = true; //是否开启惯性阻尼
controls3.dampingFactor = 0.03; //惯性阻尼系数
//使用json文件让场景还原
MMSDT.onloadScene( "models/mms3D_fdc1.json", function(progress){
if( progress == 'done' ){
//加载完成,播放风机动画
for( var i=0; i<actions[0].length; i++ ){
actions[0][i].play();
}
}else if( progress == 'ok' ){
//渲染完成
onloadDone();
}else{
//显示进度条数字
document.getElementById("loadNum").innerHTML = Math.round( progress )+'%';
}
});
var pointerTurn = true; //默认指针转动
//场景加载完成
function onloadDone(){
//监听鼠标控制器变化动作
controls3.addEventListener( 'change', function(){
let angle = MMSDT.compass(); //得到 0~360 度的角度值
document.getElementById("compass3").innerHTML = Math.round(angle) +"度"; //在div中显示当前值
if( pointerTurn == true ){
document.getElementById("compass2").style.transform = "rotate("+ angle +"deg)"; //指针的div转动
}else{
document.getElementById("compass1").style.transform = "rotate("+ angle +"deg)"; //表盘的div转动
}
});
}
//自定义对外函数接口------------------------------------------------------------------------
//指针转
MMAPI.turn1 = function(){
pointerTurn = true;
document.getElementById("compass1").style.transform = "rotate(0deg)";
}
//表盘转
MMAPI.turn2 = function(){
pointerTurn = false;
document.getElementById("compass2").style.transform = "rotate(0deg)";
}
点击查看示例演示 →
Powered by mms3D