动态流动图

MMSDT.flowTexture()

       使用动态图流动的方法,模拟管道流体的流动方向、快慢、警戒程度。

构造函数

      MMSDT.flowTexture()

属性

       .updata(id,options)

       添加流动图

       id-数组,需要添加流动图的模型子网格名称。

       options-对象,参数设置。

           id-字符串,赋予一个id号,为了单独控制

           url-字符串,箭头图片

           repeatX-数字,X轴重复率

           repeatY-数字,Y轴重复率

           speed-数字,流动速度

           direction-数字(0,1,2,3,4,5,6),流动方向(东,南,西,北,顺旋,逆旋,往复)

           blending-布尔值,是否滤掉黑色

           color-RGB颜色值,叠加颜色

           opacity-浮点数,透明度

       .enabled(id,Boolean)

       开启流动图,或材质复原

       id-字符串,子网格名称

       Boolean-布尔值,true开启,false还原

       .direction(id,number)

       改变流动方向

       id-字符串,子网格名称

       number-数字(0,1,2,3,4,5,6),流动方向

       .opacity(id,opacity)

       改变透明的

       id-字符串,子网格名称

       opacity-浮点数0~1,透明度

       .speed(id,speed)

       改变流动速度

       id-字符串,子网格名称

       speed-数字,新的速度

       .color(id,color)

       改变颜色

       id-字符串,子网格名称

       color-RGB颜色值,叠加颜色

代码示例

var MMS3D_exceptionMesh = []; //需要材质拆分的网格 var MMS3D_instancingMesh = []; //合并实例化网格 //初始化场景 MMSDT.initScene( false, MMS3D_exceptionMesh, MMS3D_instancingMesh ); //设置第3人称鼠标控制器 controls3.maxPolarAngle = Math.PI*0.49; //向下,最大角度限制 controls3.maxDistance = 800; //最远距离限制 controls3.screenSpacePanning = false; //右键平移是否上下移动 controls3.enableDamping = true; //是否开启惯性阻尼 controls3.dampingFactor = 0.1; //惯性阻尼系数 controls3.autoRotateSpeed = 2; //自动旋转速度 //使用json文件让场景还原 MMSDT.onloadScene( "models/mms3D_shuibengfang.json", function(progress){ if( progress == 'done' ){ //加载完成 onloadDone(); }else if( progress == 'ok' ){ //渲染完成 }else{ //显示进度条数字 document.getElementById("loadNum").innerHTML = Math.round( progress )+'%'; } }); //设置多种流动图参数 var options1 = { id: "pipe1", //赋予一个id号,为了单独控制 url: "textures/arrow.png", //箭头图片 repeatX: 1, //X轴重复率 repeatY: 5, //Y轴重复率 speed: 5, //流动速度 direction: 0, //流动方向: 0,1,2,3,4 blending: true, //是否滤掉黑色 color: 0xff0000, //叠加颜色 opacity: 1, //透明度 } var options2 = { id: "pipe2", //赋予一个id号,为了单独控制 url: "textures/arrow.png", //箭头图片 repeatX: 1, //X轴重复率 repeatY: 4, //Y轴重复率 speed: 5, //流动速度 direction: 0, //流动方向: 0,1,2,3,4 blending: true, //是否滤掉黑色 color: 0x00ff00, //叠加颜色 opacity: 1, //透明度 } var options3 = { id: "pipe3", //赋予一个id号,为了单独控制 url: "textures/arrow.png", //箭头图片 repeatX: 1, //X轴重复率 repeatY: 2, //Y轴重复率 speed: 10, //流动速度 direction: 0, //流动方向: 0,1,2,3,4 blending: true, //是否滤掉黑色 color: 0xfff000, //叠加颜色 opacity: 1, //透明度 } //初始化流动函数 var flowTextures = new MMSDT.flowTexture(); //场景加载完成 function onloadDone(){ //给子网格添加流动图(子网格名称,参数设置) flowTextures.updata( ["SBF25","SBF26"], options1 ); flowTextures.updata( ["SBF27","SBF34","SBF31","SBF28"], options2 ); flowTextures.updata( ["SBF310","SBF292","SBF274","SBF256","SBF233","SBF215","SBF197","SBF179","SBF98","SBF60","SBF77","SBF128","SBF151"], options3 ); } //自定义对外函数接口------------------------------------------------------------------------ //还原或开启流动 MMAPI.flowEnabled = function(Boolean){ var id=["SBF25","SBF26","SBF27","SBF34","SBF31","SBF310","SBF292","SBF274","SBF256","SBF233","SBF215", "SBF197","SBF179","SBF98","SBF60","SBF77","SBF128","SBF151"] for( var i=0; i<id.length; i++ ){ flowTextures.enabled( id[i], Boolean ); } } MMAPI.flowDirection = function(value){ if( value == 0 ){ flowTextures.direction( "pipe1", 0); flowTextures.direction( "pipe2", 0); flowTextures.direction( "pipe3", 0); }else{ flowTextures.direction( "pipe1", 2); flowTextures.direction( "pipe2", 2); flowTextures.direction( "pipe3", 2); } } //流动图透明度 MMAPI.flowOpacity1 = function(value){ flowTextures.opacity( "pipe1", value); } MMAPI.flowOpacity2 = function(value){ flowTextures.opacity( "pipe2", value); } MMAPI.flowOpacity3 = function(value){ flowTextures.opacity( "pipe3", value); } //流动速度 MMAPI.flowSpeed1 = function(value){ flowTextures.speed( "pipe1", value); } MMAPI.flowSpeed2 = function(value){ flowTextures.speed( "pipe2", value); } MMAPI.flowSpeed3 = function(value){ flowTextures.speed( "pipe3", value); } //流动图颜色 MMAPI.flowColor1 = function(value){ flowTextures.color( "pipe1", value); } MMAPI.flowColor2 = function(value){ flowTextures.color( "pipe2", value); } MMAPI.flowColor3 = function(value){ flowTextures.color( "pipe3", value); }

点击查看示例演示 →