gpt4 book ai didi

three.js - 在 Three.js 中相对于对象旋转向前移动

转载 作者:行者123 更新时间:2023-12-04 03:49:50 32 4
gpt4 key购买 nike

我刚刚开始研究 Three.js 并有一个关于对象移动的问题。在 XNA/ShparDX 中,您可以执行类似于下面的代码的操作,其中对象可以相对于其方向向前移动。因此,如果对象向下看,这会将其向下移动。如果它向右看,它将向右移动。可以看到这方面的视频示例 here , 是页面上的最后一个视频。

float speed = 0.15f;
Vector3 velocity = objectMatrix.Forward * speed;
objectMatrix *= Matrix.CreateTranslation(velocity);

我尝试了以下基于 this answer .当我按下键触发它时,它什么也没做。
var STEP = 10;
object.matrixWorld.identity();
object.matrixWorld.multiplySelf(three.Matrix4.translationMatrix(object.position.x, object.position.y, object.position.z + STEP));
object.updateMatrixWorld();

我在使用 Three.js 中可用的成员和函数复制这一点时没有成功。如果可能的话,有人可以告诉我吗?谢谢。

最佳答案

mesh.translateX( delta );
mesh.translateY( delta );
mesh.translateZ( delta );

要继续前进,请使用 translateZ( delta ) .

如果只是学习,最好不要乱用 object.matrix ,除非你真的知道自己在做什么。设置 position , rotation , 和 scale反而。

关于three.js - 在 Three.js 中相对于对象旋转向前移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14827946/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com