在其本地轴上翻译ojbect

时间:2017-05-16 20:51:18

标签: javascript three.js

我是初学三人。我尝试翻译从Maya导入的对象;问题是旋转后,如果我尝试移动它,它会沿着场景的轴移动,而不是沿着场景的方向移动转动。

这就是我试图做的事情:

var keyCode = event.which;

// up
if (keyCode == 87) {
    shuttle.translateZ(0.2);
    // down
} else if (keyCode == 83) {
    shuttle.translateZ(-0.2);
        // left
} else if (keyCode == 65) {
    shuttle.rotation.y-= 0.1;
      // right
} else if (keyCode == 68) {
    shuttle.rotation.y += 0.1;
  }

如果我使用translateZ或shuttle.position.z + = 1这个函数没有区别。

1 个答案:

答案 0 :(得分:0)

以下是如何沿对象的方向进行翻译

var direction = shuttle.getWorldDirection();
shuttle.translate(direction.multiplyScalar(distance) );