破碎爆炸

MMSDT.particlesBomb()

       模型以粒子的方式破碎爆炸,消失,用于模型的隐藏动画过度。

构造函数

      MMSDT.particlesBomb( parameters: object )

        parameters - json格式,参数设置。

        modelIndex - 整数,模型序号下标

        childName - 二维数组,位置,模型子网格名称包含

        color - RGB颜色,破片颜色

        distance - 数字,爆炸范围

        time - 整数,持续时间,毫秒

        bloom - 布尔值,是否发光(发光需开启后期)

属性

       .enabled( arrayIndex, Boolean)

        爆炸或者恢复

        arrayIndex - 整数,参数中的模型数组下标

        Boolean - 布尔值,true破片恢复,false爆炸消失

代码示例

var MMS3D_exceptionMesh = []; //需要材质拆分的网格 var MMS3D_instancingMesh = []; //合并实例化网格 //初始化场景 MMSDT.initScene( false, MMS3D_exceptionMesh, MMS3D_instancingMesh ); //设置第3人称鼠标控制器 controls3.maxPolarAngle = Math.PI*0.48; //向下,最大角度限制 controls3.maxDistance = 700; //最远距离限制 controls3.screenSpacePanning = false; //右键平移是否上下移动 controls3.enableDamping = true; //是否开启惯性阻尼 controls3.dampingFactor = 0.1; //惯性阻尼系数 controls3.autoRotateSpeed = 2; //自动旋转速度 //使用json文件让场景还原 MMSDT.onloadScene( "models/mms3D_blgcx1.json", function(progress){ if( progress == 'done' ){ //加载完成 onloadDone(); }else if( progress == 'ok' ){ //渲染完成 }else{ //显示进度条数字 document.getElementById("loadNum").innerHTML = Math.round( progress )+'%'; } }); var particles; //场景加载完成 function onloadDone(){ //破碎爆炸参数设置 var options = { modelIndex: 0, //模型序号下标 childName: [ //位置,模型子网格名称包含 ["dl"], //屋顶 ["3l"], //三楼 ["2l"], //二楼 ], color: 0xeeeeee, //破片颜色 distance: 200, //爆炸范围 time:1000, //持续时间 bloom:false //是否发光(发光需开启后期) } particles = new MMSDT.particlesBomb(options); //初始化破碎爆炸 } //自定义对外函数接口------------------------------------------------------------------------ //拆分楼层 MMAPI.bomb = function(num){ switch(num) { case 1: //房顶消失 particles.enabled( 0, false ); //参数中的模型数组下标,false爆炸消失 break; case 2: //三楼消失 particles.enabled( 1, false ); break; case 3: //二楼消失 particles.enabled( 2, false ); break; case 4: //二楼显现 particles.enabled( 2, true ); //参数中的模型数组下标,true碎片汇聚显示 break; case 5: //三楼显现 particles.enabled( 1, true ); break; case 6: //房顶显现 particles.enabled( 0, true ); break; } }

点击查看示例演示 →