Javascript Three.js:更改相机位置可防止移动
我有一个问题,在更改初始相机位置时,我无法再移动它。下面是我的代码: 初始设定位置:Javascript Three.js:更改相机位置可防止移动,javascript,three.js,Javascript,Three.js,我有一个问题,在更改初始相机位置时,我无法再移动它。下面是我的代码: 初始设定位置: camera.position.set (0, 1.67, 10); 现在,在这种情况下,我将更改相机的Z位置: if (cube.material.opacity == 0.2) { camera.position.set (0, 1.67, 0); } 我正在使用此脚本通过键盘事件移动相机: window.addEventListener('keydown', onKeyDown, false
camera.position.set (0, 1.67, 10);
现在,在这种情况下,我将更改相机的Z位置:
if (cube.material.opacity == 0.2) {
camera.position.set (0, 1.67, 0);
}
我正在使用此脚本通过键盘事件移动相机:
window.addEventListener('keydown', onKeyDown, false );
distance = 0.05;
function onKeyDown() {
switch( event.keyCode ) {
case 87:
camera.translateZ( - distance );
break;
case 83:
camera.translateZ( distance );
break;
case 65:
camera.translateX( - distance );
break;
case 68:
camera.translateX( distance );
}
};
将Z位置从
10
更改为0
后,当按下键时,摄像头来回抖动,不再移动。我怎样才能解决这个问题?谢谢。如果您更改了camera.translateZ(-distance)代码>至摄像机位置.z-=距离代码>(其他键依此类推)?这没有什么区别。我认为问题是在该条件下,相机在z轴上“设置”到位,无法移动,但沿x轴移动是可以的。但是我不知道如何修复它。您可能在渲染/更新循环中重新定位了摄影机(第二个代码段)。这使得每次渲染时都要设置位置。你能不能给这段代码多加一点上下文?我想大概是这样的。我改变了相机的位置以及渲染的场景,这就是原因。我需要创建一个新的摄像机吗?如果在循环过程中更改摄像机位置,只要满足条件,摄像机就会一直更改位置。此外,更多的代码可以帮助我们了解您的问题。你会发布你的动画功能吗?