Javascript 旋转和平移对象
我需要旋转和平移对象。我可以两者都做,但在旋转方向丢失后——物体会朝着它们所面对的方向移动Javascript 旋转和平移对象,javascript,three.js,Javascript,Three.js,我需要旋转和平移对象。我可以两者都做,但在旋转方向丢失后——物体会朝着它们所面对的方向移动 if( keyboard.pressed("up")) objects[movementControls.translate].translateX(1); if( keyboard.pressed("down")) objects[movementControls.translate].translateX(-1);
if( keyboard.pressed("up"))
objects[movementControls.translate].translateX(1);
if( keyboard.pressed("down"))
objects[movementControls.translate].translateX(-1);
if( keyboard.pressed("left"))
objects[movementControls.translate].translateZ(-1);
if( keyboard.pressed("right"))
objects[movementControls.translate].translateZ(1);
if( keyboard.pressed("x"))
objects[movementControls.rotate].rotation.x+=0.1;
if( keyboard.pressed("y"))
objects[movementControls.rotate].rotation.y+=0.1;
if( keyboard.pressed("z"))
objects[movementControls.rotate].rotation.z+=0.1;
有一种方法可以只旋转对象而不旋转轴?使用
parent.Add(yourobject)将对象添加到另一个父对象中代码>。然后移动父对象,旋转子对象 如果我理解您的问题,那么您需要使用位置。applyAxisAngle
代替旋转
:所有旋转和平移操作都是围绕原点(0,0,0)应用的。如果要在旋转时保留平移,则需要保存当前对象位置,首先将对象平移到(0,0,0),然后旋转,然后再向后平移。也许值得研究一种管理复杂对象和场景的方法——WebGL就是其中之一。