自动巡检
第一人称和第三人称自动巡检。相比 new MMSDT.autoCruise 函数,主要增加了虚拟化身的动画模型,镜头转向的设置
需配置镜头自动巡游路径文件
编辑器地址:http://www.mms3d.cn/html/gnty/gjj_1724_44.html?tools/cruise
参数
new MMSDT.routingInspection( dateJson, parameters, cruiseEnd )
dateJson: 巡游路线,来源 paths.json 配置文件。
parameters = {
model: 'models/fly.gltf', //三维模型
scale: 0.002, //三维模型缩放大小
rotation: Math.PI, //模型面向前,旋转偏移
distance: 8, //默认镜头与中心模型的距离
height: 3, //默认镜头与中心点的高度
speed: 0.2, //巡游速度
veer: 0.2, //镜头转向速度
repetition: false, //一圈后是否重复
}
cruiseEnd: 回调函数,漫游完成
属性
.onOff( boolean )
布尔值,true开始巡检, false暂停巡检
.stopn()
停止巡检
.person( num )
数字,1是第一人称, 3是第三人称
代码示例
//初始化自动巡游
var autoCruise;
MMSDT.getJson( dirUrl+"models/paths.json", callback);
function callback( dateJson ){
var parameters = {
model: 'models/fly.gltf', //三维模型
scale: 0.002, //三维模型缩放大小
rotation: Math.PI, //模型面向前,旋转偏移
distance: 8, //默认镜头与中心模型的距离
height: 3, //默认镜头与中心点的高度
speed: 0.2, //巡游速度
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 ); //开启自动巡游
}
MMAPI.pauseCruise = function(){
autoCruise.onOff( false ); //暂停巡游
}
MMAPI.person1 = function(){
autoCruise.person( 1 ); //第一人称视角
}
MMAPI.person3 = function(){
autoCruise.person( 3 ); //第三人称视角
}
MMAPI.stop = function(){
autoCruise.stop(); //停止巡游
}
在线演示