我需要帮助以直线运动方式移动3d相机。当我使用下面的代码时,它会围绕对象旋转相机,但是我需要沿着对象的侧面移动相机。
我想要这个:
但是我明白了:
这是我的代码:
function MovePositionRight() {
var X, sCurrentX;
var sCurrentX = viewer.camera.position.z;
X = viewer.camera.position.z - 0.5;
MovePositionZ(viewer.camera.position.x, viewer.camera.position.y, X);
}
function MovePositionZ(X,Y,Z) {
//viewer.camera.position.set(0, 0, 15);
viewer.camera.position.set(X, Y, Z);
viewer.camera.updateProjectionMatrix();
viewer.render();
}
答案 0 :(得分:0)
要以线性方式移动相机,只需更改其.position
属性。像这样:
camera.position.x += 0.1;
应该可以解决问题。只要您不触摸其.rotation, .up
或其他属性,它就应该沿您声明的轴移动而不旋转。
See it in action in this JSFiddle。我要做的只是在第40行中更改.position.x += 1;
。