像其他许多类似的问题一样,我想根据对象的旋转将其移动到three.js
中。区别在于,我不能使用object.translateZ。这是因为我使用的是物理模拟器,如果我像这样更新对象,它将搞砸。这是我的问题的一个示例fiddle。随意玩我的小提琴,并在您的答案中添加更新的版本。
我希望多维数据集通过基于mesh.position.x
更新mesh.position.z
和mesh.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/