1、TransformControls
TransformControls是变换控制器,可以操纵物体进行移动、缩放、旋转操作。
实例生成:
var control = new TransformControls( camera, renderer.domElement );//camera是相机对象,renderer是渲染器对象
可以通过setMode来实现相关操作:
control.setMode( "translate" )//平移
control.setMode( "rotate" )//旋转
control.setMode( "scale" )//缩放
可以使用 attach 函数把要控制的对象添加进控制器,使用detach把控制对象移除
键盘和鼠标操作:
Q :切换物体空间和世界空间,切换后坐标系会改变,移动轨迹也会改变
W(需配合鼠标) :平移
E(需配合鼠标) :旋转
R(需配合鼠标) :缩放
+ :放大坐标系
- :缩小坐标系
长按Ctrl(需配合鼠标):以格为单位平移
X :隐藏X轴
Y :隐藏Y轴
Z :隐藏Z轴
空格 :启用或是禁用控制器
TransformControls感觉用于对物体的操作多一些。
2、TrackballControls
TrackballControls是轨迹球控制器,可以使用鼠标来轻松移动、平移和缩放场景。
实例生成:
var controls = new TrackballControls( camera, renderer.domElement );//camera是相机对象,renderer是渲染器对象
部分参数设置:
controls.rotateSpeed = 1.0; //旋转速度
controls.zoomSpeed = 1.2; //缩放速度
controls.panSpeed = 0.8; //平移速度
controls.noZoom = false; //禁止缩放
controls.noPan = false; //禁止平移
controls.minDistance = 200; //缩放的最近距离
controls.maxDistance = 1000; //缩放的最远距离
controls.staticMoving = true; //移动惯性
controls.dynamicDampingFactor = 0.3;//灵敏度
鼠标操作:
鼠标左键:旋转和翻滚
鼠标右键:平移
鼠标滚轮:缩放
TrackballControls主要是用来对场景的控制。