我在 ThreeJS 中设置了一个包含两个立方体、一个相机、一个灯光和一个平面的场景。立方体在飞机上,相机在绿色立方体周围绕圈飞行。
我的问题是摄像机角度有一个奇怪的行为。当相机飞行时,它会自行旋转并进入倒置位置,然后回到正常位置并继续下去。我正在使用 lookAt() 方法。我不知道出了什么问题。我查看了 ThreeJS 的其他一些示例,并得出结论认为这段代码应该可以工作。你能告诉我我做错了什么吗?我希望相机在绿色立方体周围飞行而不倒置。所以我希望它直接看立方体,在它飞行时只改变 z 轴。
这是我的渲染循环:
function render() {
requestAnimationFrame(render);
var timer = -0.0002 * Date.now();
camera.position.x = 5 * Math.cos( timer );
camera.position.y = 5 * Math.sin( timer );
camera.lookAt( cube.position );
renderer.render(scene, camera)
}
这是整个例子:http: //jsfiddle.net/szivak009/8S5hq/6/