2016-03-24 59 views
3

我希望我的物體在Y軸上旋轉,以便隨着相機的移動始終面向相機(彷彿人類正在轉圈)。ThreeJS:在y軸上旋轉到人臉相機

這是我到目前爲止已經試過:

var render = function() { 
    animationFrameId = window.requestAnimationFrame(render); 

    obj.lookAt(camera.position); 

    obj.rotation.set(0, obj.rotation.y, 0); 
} 

但我錯過了一些簡單的數學和三角函數,因爲當我旋轉,它最終「跳」和對象似乎要面對錯誤的方向

回答

4

如果使用.lookAt對象在所有方向上查看相機,則必須像這樣計算相機和網格之間的Y平面上的角度。

var render = function() { 

    animationFrameId = window.requestAnimationFrame(render);  

    obj.rotation.y = Math.atan2((camera.position.x - obj.position.x), (camera.position.z - obj.position.z)); 

}