2012-01-21 121 views
1

我剛剛開始使用Three.js。就像現在一樣。Three.js相機旋轉很奇怪

在玩了一個小時左右並構建了一個幫助我理解不同元素如何協同工作的工具(Camera,Light,Objects)之後,我發現了一些奇怪的東西。

的工具:http://hotblocks.nl/tests/three/cubes.html

這是當前的默認設置:

  • 照相機被定位210個向上和
  • 500向後和
  • 246向右
  • 的相機稍微向左旋轉
  • 光線直接位於上方並且發光es在所有方向

正如您所看到的,這些對象位於視口的最底部。所以我想把攝像頭向下,所以我可以看到更多。

試試看:打開camera.rotation.x

這有效,但旋轉的角度是錯誤的!世界圍繞其Z軸旋轉,而不是相機旋轉。

這是不對的,是嗎?

Y軸也是錯誤的。它圍繞Y軸旋轉世界。

圍繞其Z軸旋轉相機,完美地工作:相機旋轉,而不是世界。

我做錯了嗎?還是理解錯了?

PS由於攝像機的旋轉僅在其Y軸附近,因此對象的垂直邊緣也應該垂直於結果。在默認設置中,它們是。圍繞X軸旋轉攝像頭不應該改變它,但它確實如此。只有圍繞它的Z軸旋轉纔會改變(它確實)。我錯了嗎?

PPS我知道Camera.lookAt(THREE.Vector3 target),但它會改變相機的旋轉,包括它的Z軸,這在邏輯上不應該是必需的。

回答