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;
}
}
点击查看示例演示 →
Powered by mms3D