我正在嘗試將相機向左,向右,向後和向前移動,並將其向左和向右旋轉。將相機移動到兩側並旋轉它[Autodesk forge viewer]
這是我試過的旋轉:
function onRotateLeftButtonClicked(event) {
event.preventDefault();
var target = viewer.navigation.getTarget();
var q = new THREE.Quaternion();
q.setFromAxisAngle(new THREE.Vector3(0, 0, 1), 0.1);
target.applyQuaternion(q);
viewer.navigation.setTarget(target);
orientUp();
}
向左移動:
function onLeftButtonClicked(event) {
event.preventDefault();
_camera.translateX(-1);
orientUp();
}
FOWARD:
function onForwardButtonClicked(event) {
event.preventDefault();
_camera.translateZ(-1);
orientUp();
}
但是這隻能有時和其他時間的旋轉完全是弄亂了,左右旋轉,沿Z軸向前和向後翻轉相機180度沿着z軸。
那麼你應該如何控制像這樣的相機? PS:我在第一人稱視角中執行此操作。
注意相反的方向顯然是對稱的。 _camera
是viewer.getCamera()
。