如何在没有旋转的情况下在三个.js中设置相机的位置?

时间:2016-07-11 16:17:06

标签: javascript three.js

我有一个使用CSS3DObject渲染工具用three.js开发的界面。 我已将轨道设置为0以防止旋转并限制我的移动以平移和缩放。

请注意我也在使用Orbit Control。

我使用以下代码将相机的位置设置为x = -2000:

camera.position.x=-2000;
camera.position.z=4000;

当我这样做时,相机移动位置但仍然指向(0,0,0),导致歪斜的外观。 所以我假设我需要给它一个向量

camera.up = new THREE.Vector3(0,1,0);  //keeps the camera horizontal
camera.lookAt(new THREE.Vector3(2000,0,0));  //should point the camera straight forward

请注意,我仍然试图找到一个很好的解释,说明如何设置lookAt工作。

1 个答案:

答案 0 :(得分:1)

经过一番研究后,似乎轨道控制覆盖了相机.lookAt因此没有做任何事情。 为了实现平移,我将摄像机x位置的位置设置为等于目标值。 我也删除了camera.up行。

var myCameraX = -2000;
var myCameraY = 500;

camera.position.x=myCameraX;
camera.position.y=myCamerYa;
control.target.set(myCameraX,myCameraY,0);

希望能有所帮助。