2016-03-24 19 views
3

カメラが動いているときに、私のオブジェクトをY軸上で回転させて、カメラが常に向いているようにします。ThreeJS:y軸をカメラに向けて回転する

これは私がこれまでにしようとしているものです:

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

    obj.lookAt(camera.position); 

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

しかし、私はいくつかの簡単な数学を欠落しているか、機能をtrigの午前、私は回転したときに、それは最終的に「ジャンプ」やオブジェクトが間違った方向に直面して表示されますので、

答えて

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)); 

} 
関連する問題