我们在第07课中讲解过相机的相关内容,也制作了一个简易的相机控制器。
正常的项目中,大家的需求都是不一样的,又通常会碰上需求中途改变的情况,我们之前做的简易版相机控制器很难满足此类项目对相机的操作需求。而且,造轮子的前提是当前的框架以及插件已经无法满足自身的需求时,才会考虑造轮子。要不然,项目的进度会被拖得很慢,甚至有可能因此而错过红利期。
好在 Three.js 官方和同道中的朋友们给我们提供了很多相关的插件,我们可以根据需求引入相关的插件来实现需求,本文我们就来看一下官方案例中提供的相机控制器。
从官网下载的代码包里可以发现有很多的相机控制器,文件夹地址为:/examples/js/controls/
,里面的文件插件都是和控制相机和控制模型相关的插件,我们罗列一下相关插件:
- DeviceOrientationControls:陀螺仪相机控制器,实现移动端陀螺仪控制相机。
- DragControls:控制鼠标拖拽移动物体的功能。
- EditorControls:实现相机的旋转、缩放、平移功能,相对于 OrbitControls 的功能差不少,不建议使用。
- FirstPersonControls:第一视角相机控制器。
- FlyControls:飞行相机控制器。
- OrbitControls:轨道控制器。
- OrthographicTrackballControls:正交轨迹球控制器——正交相机使用的轨迹球控制器。
- TrackballControls:轨迹球控制器——透视相机使用的轨迹球控制器。
- PointerLockControls:鼠标锁定相机控制器。
- Tr