2013-03-20 26 views
0

假設我有一個簡單的三角形作爲Object3D類中的唯一元素/子元素。我有一個PerspectiveCamera看着它,我想有Object3D沿着相機的正X軸,例如,當我按下一個鍵。Three.js:導致Object3D平行於我的相機的X軸行進

我該如何操縱物體,使Object3D沿着相機的X軸平行移動?在查看PerspectiveCamera的內部工作方式時,我看到的成員是matrixWorldmatrixWorldInverse,但我不確定它們代表什麼或者如何在這裏最好地使用它們。

我可以使用相機的matrixWorldInverse矩陣將Object3D轉換爲相機座標,然後沿着相機的x軸移動物體(我不知道該如何查找,因爲我沒有看到它的條目在PerspectiveCamera,雖然我可能沒有看到它),然後再乘以'矩陣世界'矩陣的Object3D將其移回世界座標?

回答

1

你有沒有嘗試讓你的物體成爲你的相機的孩子?那麼相機的任何移動都會影響你的物體。如果您將相機放在您的物體的y-z平面上,則物體在其x軸上的任何移動也會出現在相機的x軸上。

+0

這是一個好主意,不幸的是,我只希望物體在某些時候平行於我的相機的x軸移動 - 大多數時候它不會是相機的「孩子」。 – larryq 2013-03-21 05:13:44

+0

好的,但如果你把相機放在yz平面上,然後讓它在yz平面上的某個地方(即x = 0)看,那麼你的物體在其x軸上的任何運動看起來也會作爲x軸上的運動,相機的軸。 – gaitat 2013-03-21 05:38:23

相關問題