這裏是我想怎樣做:three.js所:旋轉everyting(包括攝像頭),儘管軌道控制器
當條件被驗證,我想在現場轉動的一切,包括攝像頭。
用戶不會說任何區別,因爲相機仍然顯示完全相同的東西,但事實上對象將被旋轉。
當然軌道控制器應該還是工作......
的問題可能是愚蠢的,但我有麻煩。要麼相機被移動,並不顯示完全相同的東西,或軌道控制器不起作用。
你會怎麼做?
謝謝。
編輯:我應該詳細說明我試過的東西。
所以,讓我們說我在我的場景中唯一的事情是每個臉上都有數字的立方體。
- 面1指向+ X。
- 面2指向+ Y。
- 面3指向+ Z。
- 面-1指向-X。
- 面-2指向-Y。
- 面-3指向-Z。
在我的代碼中的某個點,我希望多維數據集在用戶不知道的情況下旋轉。
- 面1仍應指向+ X。
- 面-1仍應指向-X。
但是:
- 面2應該朝着+ Z點。
- 面-2應指向-Z。
- 面3應指向-Y。
- 面-3應指向+ Y。
好嗎?
但我不希望用戶注意到這種旋轉。 所以我想在同一時間旋轉相機,以隱藏立方體旋轉的事實。
我的嘗試:
,當我想要旋轉X:
cube.rotateX(direction * Math.PI/2);
camera.position.set(camera.position.x, direction * (-camera.position.z), direction * camera.position.y);
camera.lookAt(new THREE.Vector3(0, 0, 0));
,當我想旋轉Y:可悲的是
cube.rotateY(-direction * Math.PI/2);
camera.position.set((-direction) * camera.position.z, camera.position.y, -direction * (-camera.position.x));
camera.lookAt(new THREE.Vector3(0, 0, 0));
,雖然它的工作原理爲Y旋轉,它不適用於X旋轉,因爲camera.up會將它搞砸,並使其看起來像圍繞Y軸旋轉。
我該怎麼辦?
旋轉場景中關於原點的所有內容只會影響其中對象的世界矩陣。如果這就是你想要做的,好的。但我們需要繼續努力。請分享您的代碼,並指出您迄今嘗試完成的效果。 [如何創建一個最小,完整和可驗證的示例](https://stackoverflow.com/help/mcve) – TheJim01
你是對的。我編輯添加更多信息。 – AAAAAAAAAA