wil*_*lly 3 javascript three.js
我希望我的物体在Y轴上旋转以始终面向相机(就像人类在圆圈中转动一样),随着相机的移动.
这是我到目前为止所尝试的:
var render = function() {
animationFrameId = window.requestAnimationFrame( render);
obj.lookAt(camera.position);
obj.rotation.set(0, obj.rotation.y, 0);
}
Run Code Online (Sandbox Code Playgroud)
但是我缺少一些简单的数学或触发函数,因为当我旋转时,它最终会"跳跃"并且对象看起来面向错误的方向
小智 9
如果您使用.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 ) );
}
Run Code Online (Sandbox Code Playgroud)