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主要是用來對場景的控制。