new MMSDT.lineFlow

流动材质线

对特定材质设置流动动画

参数

new MMSDT.lineFlow( parameter )

parameters = {
texture: dirUrl+"models/line/xunjian.png", //指定贴图箭头
repeat: [1,2], //[x,z]轴向的贴图重复率
speed: 13, //流动速度,数字越大越快
}

代码示例

//加载流动路线模型 MMSDT.getJson( dirUrl+"models/mms3D1619438307436.json", callBack); function callBack(dateJson){ var modelList = [ dirUrl+"models/line/xunjian.gltf", ] MMSDT.modelsLoader( dateJson, modelList, complete); function complete(list){ models[list].scale.set(1,1,1); models[list].rotation.set(0,0,0); models[list].position.set(0,45,0); //让线条流动起来 var parameter = { texture: dirUrl+"models/line/xunjian.png", //指定贴图箭头 repeat: [1,2], //[x,z]轴向的贴图重复率 speed: 13, //流动速度,数字越大越快 } var material = new MMSDT.lineFlow( parameter ); //新建流动材质 models[list].traverse( function ( child ) { if ( child.isMesh ) { child.material = material; //把流动材质赋予流动模型 } }); } } //初始化自动巡游 var autoCruise; MMSDT.getJson( dirUrl+"models/paths2.json", callback); function callback( dateJson ){ var parameters = { model: 'models/fly.gltf', //三维模型 scale: 0.002, //三维模型缩放大小 rotation: Math.PI, //模型面向前,旋转偏移 distance: 8, //默认镜头与中心模型的距离 height: 3, //默认镜头与中心点的高度 speed: 0.1, //巡游速度 veer: 0.2, //镜头转向速度 repetition: false, //一圈后是否重复 } autoCruise = new MMSDT.routingInspection( dateJson, parameters, cruiseEnd ); //初始化 function cruiseEnd(){ //漫游完成 MMSDT.cameraTarget([0,0,0], [-224,108,47], 1000 ); //镜头复位 MMSDT.controlsTarget( [0,0,0], 400, 1000 ); //控制器复位 controls.maxPolarAngle = Math.PI*0.498; controls.minPolarAngle = Math.PI*0.35; } } //使用MMAPI类,自定义外部函数接口 MMAPI.startCruise = function(){ autoCruise.onOff( true ); //开启自动巡游 models[1].visible = true; } MMAPI.pauseCruise = function(){ autoCruise.onOff( false ); //暂停巡游 } MMAPI.person1 = function(){ autoCruise.person( 1 ); //第一人称视角 } MMAPI.person3 = function(){ autoCruise.person( 3 ); //第三人称视角 } MMAPI.stop = function(){ autoCruise.stop(); //停止巡游 }

在线演示