目标模型虚化

MMSDT.objectStyle()

       目标模型虚化,科技感水晶模式。Tips: 针对子网格名称来判断

MMSDT.objectStyle2()

       目标模型虚化,科技感水晶模式。Tips: 针对模型下标来判断

构造函数

      MMSDT.objectStyle( mesh:array, parameters:object, reverse:boolean )

       mesh - 数组,包含子网格名称的字符串。

       parameters - json参数,设置颜色及透明度。

       reverse - 布尔值,对该网格虚化翻转。true目标子网格虚化,false除目标子网格以外的都虚化

      MMSDT.objectStyle2( model:arrayIndex, parameters:object, reverse:boolean )

       model - 数字,加载的模型顺序下标,或者数组内的模型顺序下标。

       parameters - json参数,设置颜色及透明度。

       reverse - 布尔值,对该网格虚化翻转。true目标子网格虚化,false除目标子网格以外的都虚化

代码示例

var MMS3D_exceptionMesh = []; //需要材质拆分的网格 var MMS3D_instancingMesh = ["shu"]; //合并实例化网格 //初始化场景 MMSDT.initScene( false, MMS3D_exceptionMesh, MMS3D_instancingMesh ); //设置第3人称鼠标控制器 controls3.maxPolarAngle = Math.PI*0.49; //向下,最大角度限制 controls3.maxDistance = 500; //最远距离限制 controls3.screenSpacePanning = false; //右键平移是否上下移动 controls3.enableDamping = true; //是否开启惯性阻尼 controls3.dampingFactor = 0.1; //惯性阻尼系数 //使用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 )+'%'; } }); //场景加载完成 function onloadDone(){ MMAPI.objStyle(2); //默认凸显风机 } //设置虚化(水晶)模式下的模型颜色和透明度 var techStyle = { color: 0x000000, //设置颜色 opacity: 0.04, //设置透明度 wireframe: false, //是否开启线框 } //自定义对外函数接口------------------------------------------------------------------------ var displayMode=0; //记录当前显示方式 //显示方式 MMAPI.objStyle = function(num){ switch(num) { case 0: //恢复实景 MMSDT.objectStyle2( [0,1], techStyle, false ); displayMode=0; break; case 1: //全部虚化 MMSDT.objectStyle2( [0,1], techStyle, true ); displayMode=1; break; case 2: //凸显风机 MMSDT.objectStyle( ['feiji'], techStyle, false ); displayMode=2; break; case 3: //虚化风机 MMSDT.objectStyle( ['feiji'], techStyle, true ); displayMode=3; break; case 4: //凸显风机和道路 MMSDT.objectStyle( ['feiji','ffhhh04','ddds03'], techStyle, false ); displayMode=4; break; } } //透明度 MMAPI.styleOpacity = function(value){ techStyle.opacity = value; //改变虚化参数,透明度 MMAPI.objStyle(displayMode); //改变参数后,重新刷新显示方式 } //虚化颜色 MMAPI.styleColor = function(value){ techStyle.color = value; //改变虚化参数,颜色 MMAPI.objStyle(displayMode); //改变参数后,重新刷新显示方式 } //是否开启线框 MMAPI.styleWireframe = function(){ techStyle.wireframe = !techStyle.wireframe; //改变虚化参数,是否开启线框 MMAPI.objStyle(displayMode); //改变参数后,重新刷新显示方式 }

点击查看示例演示 →