2016-03-24 52 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)); 

}