Javascript 三个J沿线性方向向右移动摄影机

Javascript 三个J沿线性方向向右移动摄影机,javascript,three.js,Javascript,Three.js,我需要帮助以线性运动移动3d相机。当我使用下面的代码时,它会围绕对象旋转摄影机,但我需要沿对象的一侧移动摄影机 我想要这个: 但我明白了: 这是我的代码: 函数MovePositionRight(){ var X,sCurrentX; var sCurrentX=viewer.camera.position.z; X=查看器.camera.position.z-0.5; MovePositionZ(viewer.camera.position.x,viewer.camera.positio

我需要帮助以线性运动移动3d相机。当我使用下面的代码时,它会围绕对象旋转摄影机,但我需要沿对象的一侧移动摄影机

我想要这个:

但我明白了:

这是我的代码:

函数MovePositionRight(){
var X,sCurrentX;
var sCurrentX=viewer.camera.position.z;
X=查看器.camera.position.z-0.5;
MovePositionZ(viewer.camera.position.x,viewer.camera.position.y,x);
}
函数MovePositionZ(X,Y,Z){
//查看器.camera.position.set(0,0,15);
查看器.摄像机.位置.设置(X,Y,Z);
viewer.camera.updateProjectMatrix();
viewer.render();

}
要以线性方式移动相机,只需更改其
.position
属性即可。比如:

camera.position.x+=0.1

我们应该做到这一点。只要您没有触摸它的
.rotation、.up
或其他属性,它就应该在您声明的轴上移动而不旋转


。我所做的就是改变
.position.x+=1在第40行。

您正在调用
camera.lookAt()
其他地方吗?或者在代码中的任何位置更改
摄影机。旋转
?我也尝试过,但该代码会旋转。查看器.摄像机.位置.设置(X,Y,Z);viewer.camera.up=新的三个矢量3(X,Y,Z);viewer.camera.lookAt(新的3.Vector3(X,Y,Z));不,它仍在旋转。我不明白。旋转。你说它还在旋转是什么意思?我贴的JSFIDLE中的摄像头总是朝前,从不转动。我想你可能会被相机的透视图弄糊涂了:当它向右移动时,你可以看到事物的侧面,但透视图就是这样工作的。如果您不希望任何透视扭曲,可以使用正交摄影机。