多个场景json文件切换

MMSDT.onloadNewScene()

       多种场景风格之间切换,一般用于白天与傍晚黄昏、夜晚之间切换;科技风与写实风格之间切换。再配合夜晚流光的开启关闭功能,就能达到整体效果的转换。

       Tips: 使用http://paas.mms3d.cn在线编辑平台中编辑的场景json文件。

       Tips: 注意与MMSDT.dayNightConvert()函数的区别。MMSDT.onloadNewScene()对除了模型文件之外(模型名称和顺序需相同)的所有参数进行变换,无平滑转换效果;MMSDT.dayNightConvert()仅对部分光影变换,有平滑转换效果,且可设置变化时长。

构造函数

      MMSDT.onloadNewScene( url: String, function:callback )

       url - 字符串,载入的.json文件路径。

       function - 回调函数,转换完成,可为空。

代码示例

var MMS3D_exceptionMesh = []; //需要材质拆分的网格 var MMS3D_instancingMesh = ["Sc46134_2","Sc46753_2","Sc46264_2"]; //合并实例化网格 //初始化场景 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.1; //惯性阻尼系数 controls3.autoRotateSpeed = 2; //自动旋转速度 //使用json文件让场景还原 MMSDT.onloadScene( "models/mms3D_jianyu1.json", function(progress){ if( progress == 'done' ){ //加载完成 onloadDone(); }else if( progress == 'ok' ){ //渲染完成 }else{ //显示进度条数字 document.getElementById("loadNum").innerHTML = Math.round( progress )+'%'; } }); //场景加载完成 function onloadDone(){ //加载完成,播放动画 for( var i=0; i<actions[0].length; i++ ){ actions[0][i].play(); actions[0][i].timeScale = 0.5; } } //自定义对外函数接口------------------------------------------------------------------------ //改变风格 MMAPI.changeStyle = function(num){ switch(num) { case 0: //晴朗白天 MMSDT.onloadNewScene("models/mms3D_jianyu1.json", function(){ console.log("转换完成") }); break; case 1: //黄昏黎明 MMSDT.onloadNewScene("models/mms3D_jianyu3.json", function(){ console.log("转换完成") }); break; case 2: //阴天雨天 MMSDT.onloadNewScene("models/mms3D_jianyu4.json", function(){ console.log("转换完成") }); break; case 3: //晴朗夜晚 MMSDT.onloadNewScene("models/mms3D_jianyu2.json"); break; } }

点击查看示例演示 →