Three.js TransformControls 和 TrackballControls 介紹

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章