2012-07-11 67 views
1

我有兩個物體,我們稱它們爲nearObject和farObject。一旦nearObject與farObject相距一定距離,我想讓farObject旋轉以面對nearObject。這應該立即發生,它不需要隨着時間的推移緩慢旋轉。指向一個物體以面對遠處的物體

1)距離是任意的,所以我使用以下來獲取距離信息。 nearObject.position.distanceToSquared(farObject.position);

2)現在我想讓farObject垂直於兩個對象之間的向量旋轉。什麼是最簡單的方法來做到這一點?

回答

1
farObject.lookAt(nearObject.position); 
+0

我試過了,但是我無法按照我想要的方式工作。遠對象是一個網格。當我創建它時,我會執行以下操作來垂直對齊。 – user1518845 2012-07-13 17:38:16

+0

謝謝。我嘗試過,但我無法按照我想要的方式工作。遠對象是一個網格。當我創建它時,我會執行以下操作使其垂直對齊,以便可以看到它。 mesh.rotation = new THREE.Vector3(Math.PI/2,0,0); 然後,當我按照上面的建議進行操作時,網格會對齊,使其面朝上,這是相機無法看到的。然後當我再次設置旋轉時,它似乎取消了lookAt()所做的。我如何才能讓它沿y軸在xz平面上朝nearObject旋轉? – user1518845 2012-07-13 17:46:17

+0

爲了他人的利益,爲什麼不接受這個作爲你原始問題的答案(因爲它是),然後在另一個新帖子中發佈另一個更具體的問題?如果可以,請添加現場示例,以便我們可以準確瞭解您的附加要求。 – WestLangley 2012-07-13 22:12:27