我正在使用Three.js。 我有移動和轉動通過以下方式相機:Three.js沿着其自己的軸設置相機(或Object3D)旋轉角度
camera.translateX()
:左/右移動camera.translateZ()
:前進/後退camera.rotateY()
:左/右旋轉camera.rotateX()
:旋轉up/down
經過一些移動和旋轉後,我想重置相機的上/下旋轉(即它會將呃看着天空或地板),以便它水平觀看,而保持當前的左/右旋轉和位置。
我的問題是我怎麼能得到camera.rotateX()
適當的價值? 或者有什麼方法可以指定它應該旋轉的精確角度?
我試過camera.quaternion.setFromAxisAngle()
但它似乎不是我想要的,因爲它也改變/設置相機的左/右旋轉。
對不起,我試過這兩種方法,結果不是我想要的。由此產生的視圖只是跳到一個意想不到的位置 –
這個答案不是提供複製粘貼的代碼,而是關於一旦理解的一般想法,讓你不會爲你的問題而掙扎。查看你的歐拉旋轉訂單。當然,直接設置攝像機角度會導致「跳躍」。 – mlkn