楼宇楼层分离突显
楼宇分层动画
参数
MMSDT.buildingSplit(array,high)
array: 数组,楼宇模型children名字包含的字符串,数组内为空为整体
high: 数值,指定层楼整体向上的分离高度, 为0恢复位置
代码示例
//设置虚化的物体材质
var techMaterials = new MMS3D.MeshBasicMaterial({
color: 0x00beff,
transparent:true,
opacity:0.02,
side: MMS3D.DoubleSide,
depthWrite: false,
});
//外场景再次设置
models[1].traverse( function ( child ) {
if ( child.isMesh ) {
if( child.name.indexOf( "shu" ) != -1 ){
child.visible = false; //树木隐藏
}
child.castShadow = false; //外场景不投射阴影
child.material = techMaterials; //外场景虚化
}
});
//使用MMAPI类,自定义外部函数接口
MMAPI.building = function(num){
switch(num) {
case 0: //楼层恢复
MMSDT.buildingSplit([] ,0);
break;
case -2: //B2楼
MMSDT.buildingSplit(["B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case -1: //B1楼
MMSDT.buildingSplit(["1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 1: //1楼
MMSDT.buildingSplit(["2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 2: //2楼
MMSDT.buildingSplit(["3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 3: //3楼
MMSDT.buildingSplit(["4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 4: //4楼
MMSDT.buildingSplit(["5F","6F","7F","8F","9F","10F","11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 5: //5楼
MMSDT.buildingSplit(["6F","7F","8F","9F","10F","11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 6: //6楼
MMSDT.buildingSplit(["7F","8F","9F","10F","11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 7: //7楼
MMSDT.buildingSplit(["8F","9F","10F","11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 8: //8楼
MMSDT.buildingSplit(["9F","10F","11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 9: //9楼
MMSDT.buildingSplit(["10F","11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 10: //10楼
MMSDT.buildingSplit(["11F","12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 11: //11楼
MMSDT.buildingSplit(["12F","13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 12: //12楼
MMSDT.buildingSplit(["13F","140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 13: //13楼
MMSDT.buildingSplit(["140F","15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 14: //14楼
MMSDT.buildingSplit(["15F","16F","17F","18F","19F","20F","ding"] ,50);
break;
case 15: //15楼
MMSDT.buildingSplit(["16F","17F","18F","19F","20F","ding"] ,50);
break;
case 16: //16楼
MMSDT.buildingSplit(["17F","18F","19F","20F","ding"] ,50);
break;
case 17: //17楼
MMSDT.buildingSplit(["18F","19F","20F","ding"] ,50);
break;
case 18: //18楼
MMSDT.buildingSplit(["19F","20F","ding"] ,50);
break;
case 19: //19楼
MMSDT.buildingSplit(["20F","ding"] ,50);
break;
case 20: //20楼
MMSDT.buildingSplit(["ding"] ,50);
break;
}
}
在线演示
Powered by mms3D