モデルを(3D空間で)回転に対して前方に移動するにはどうすればよいですか?例えば:
rotation = new Vector3(0, MathHelper.ToRadians(90), 0);
obj.Move(Vector3.Forward);
関数moveは、オブジェクトを1単位前方に1単位左に移動する必要があります。私は試した:
Matrix rotation = Matrix.CreateFromYawPitchRoll(rotation.x, rotation.y, 0);
Vector3 translation = Vector3.Transform(Vector3.Forward, rotation);
this.position += translation;
translation = Vector3.Zero;
しかし、何らかの理由でモデルを上に移動します。