#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; //移动速度
posted @ 2023-03-01 09:37  中亿丰数字科技  阅读(74)  评论(0)    收藏  举报