如何相对于他的旋转向前移动模型(在 3D 空间中)?例如:
rotation = new Vector3(0, MathHelper.ToRadians(90), 0);
obj.Move(Vector3.Forward);
函数 move 必须将对象向左移动一个单位,而不是向前移动一个单位。我试过了:
Matrix rotation = Matrix.CreateFromYawPitchRoll(rotation.x, rotation.y, 0);
Vector3 translation = Vector3.Transform(Vector3.Forward, rotation);
this.position += translation;
translation = Vector3.Zero;
但由于某种原因,它使模型向上移动。