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); //改变参数后,重新刷新显示方式
}
点击查看示例演示 →
Powered by mms3D