旋转和平移对象
Rotating and Translating Objects
我需要旋转和平移对象。我可以两者都做,但是在旋转方向丢失后——物体会朝着它们所面对的方向移动。
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;
有办法只旋转对象而不旋转轴吗?
将您的 object 添加到另一个 parent object 和 parent.add(yourobject);
。然后移动parent,旋转child。
如果我理解你的问题,那么你需要使用 position.applyAxisAngle
而不是 rotation
:http://jsfiddle.net/my1bqtv8/
我需要旋转和平移对象。我可以两者都做,但是在旋转方向丢失后——物体会朝着它们所面对的方向移动。
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;
有办法只旋转对象而不旋转轴吗?
将您的 object 添加到另一个 parent object 和 parent.add(yourobject);
。然后移动parent,旋转child。
如果我理解你的问题,那么你需要使用 position.applyAxisAngle
而不是 rotation
:http://jsfiddle.net/my1bqtv8/