高架相机看点

时间:2015-04-27 17:47:02

标签: javascript 3d camera three.js

我围绕z轴旋转一个球体,想要一个高架相机俯视这个球体。不幸的是,相机“不稳定”,让我晕船。如何在相机中防止此波动?

移动和查看球体的代码位于此JS Fiddle的动画方法中。

function animate() {
    requestAnimationFrame(animate);
    var timer = Date.now() * 0.0009;
    sphere.position.x = Math.sin(timer) * 3000;
    sphere.position.y = Math.cos(timer) * 3000;
    camera.lookAt(sphere.position);
    render();
}

2 个答案:

答案 0 :(得分:1)

对于相机一直看着地平线,如你所说,你必须使用Object3D我认为:

obj = new THREE.Object3D(); // use object so that rotation is relative to this
obj.add(sphere);
sphere.position.y = 3000; // distance from origin
scene.add(obj);    // add object, no sphere

像这里:http://jsfiddle.net/kjtffr02/4/

答案 1 :(得分:0)

我建议您反转轴,因为当相机达到180度时它会在y轴上转弯但是当反转时我们避免了相机的奇怪旋转。

Here 是示例的代码(查看函数 render()),here是演示。