旋转和平移对象

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 而不是 rotationhttp://jsfiddle.net/my1bqtv8/