像其他许多类似的问题一样,我想根据对象的旋转将其移动到three.js中。区别在于,我不能使用object.translateZ。这是因为我使用的是物理模拟器,如果我像这样更新对象,它将搞砸。这是我的问题的一个示例fiddle。随意玩我的小提琴,并在您的答案中添加更新的版本。

我希望多维数据集通过基于mesh.position.x更新mesh.position.zmesh.rotation.y来向前发展。

要记住,我有时意识到three.js旋转在使用mesh.rotation.y访问它们时有些奇怪。

谢谢!

最佳答案

我建议使用mesh.getWorldDirection()获取要移动网格的方向。然后,可以将其与标量相乘以调整移动速度。

direction = mesh.getWorldDirection();

mesh.position.add(direction.multiplyScalar(moveSpeed));

小提琴:https://jsfiddle.net/k1swrxjr/1/

祝好运!

关于javascript - Three.js将对象向前移动而无需translateZ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41670269/

10-11 16:26