#DTBIM功能一览
DTBIM漫游功能一览
一、漫游方式
DTBIM对模型的预览方式可分为三种,本文将着重介绍飞行模式、第一人称模式两种
- 第一人称
在场景中通过方向键W、A、S、D实现场景的前后左右移动,通过空格键实现跳跃功能。
- 飞行模式
THREE.FlyControls()飞行控件,和第一人称类似,但是操作不同,使用
THREE.FlyControls可以模拟飞行器操作杆,在场景中飞行的效果。
- 第三人称模式
在场景中通过方向键W、A、S、D 实现场景的了前、后、左、右、左前、右前、左后、右后方向的移动。
二、场景实现
1、第一人称
常见的运用第一人称控制器的有我们熟知的第一视角射击游戏,通过不同方向键的切换实现视角的变换。第一人称控制器(FirstPersonControls),该类是 FlyControls 的另一个实现。
- 引入相关库文件
<script src="/lib/js/controls/FirstPersonControls.js"></script>
- 实例化相机后,通过
camera实例化相关对象,然后进行相关配置:
controls = new THREE.FirstPersonControls(camera); controls.lookSpeed = 0.2; //鼠标移动查看的速度 controls.movementSpeed = 20; //相机移动速度 controls.noFly = true; controls.constrainVertical = true; //约束垂直 controls.verticalMin = 1.0; controls.verticalMax = 2.0; controls.lon = -100; //进入初始视角x轴的角度 controls.lat = 0; //初始视角进入后y轴的角度
- 最后则在每次渲染里面更新控制器
2、飞行模式
-
vue中引入FlyControls.js文件
-
创建实例
flyControls = new THREE.FlyControls(camera, renderer.domElement);
- 设置属性
flyControls.rollSpeed = Math.PI / 24; // 翻滚速度 flyControls.autoForward = true; //自动向前移动 flyControls.dragToLook = false; flyControls.movementSpeed = 25; //移动速度

浙公网安备 33010602011771号