Three.js三维可视化引擎没有实现第三人称漫游控制器,第一人称实现的也很一般,大部分满足不了需求,需要自己手动去写一个。以下是模仿其它平台写的第三人称视角漫游,也可以简便的改写成第一人称。
下面是我的视频案例:
Three.js漫游相机控制器/three.js第三人称视角漫游/three.js第一人称视角漫游
1、重写Three.js的OrbitControls相机控制器,实现了碰撞检测
2、鼠标左键点击一个位置点,相机角色人物走过去
3、鼠标左键拖拽实现了旋转方向
4、键盘ADWS实现了四个方向的连续步行,角色人物的回转身动作是特殊设计
5、手机模式下用手柄控制器实现四个方向的行走
6、鼠标滚轮,和手机二指捏放实现场景放大缩小
7、可添加到threejs、Babylonjs、opengl、directX、osg等其它可视化引擎程序中
技术栈:threejs、opengl、osg、forge、cesium、CAD/Revit/3dMax开发、bim/gis、gltf/glb/fbx/3dtiles大场景数据的程序生成处理;欢迎交流与和作;