在 Microsoft XNA Framework (MonoGame) 中旋转相机

问题描述 投票:0回答:1

我正在尝试在 XNA (MonoGame) 中创建一个第一人称控制器。但是,我不确定如何旋转 3D 相机

我被告知要制作一个旋转矩阵,但我不确定如何将其实现到我的相机中。

我尝试过以下方法:

Matrix rotation = Matrix.CreateRotationX(MathHelper.ToRadians(1f));

我不确定如何将其添加到我的相机中,以便我可以左右旋转相机。

有什么建议吗?

c# xna game-development monogame xna-4.0
1个回答
0
投票

通常,在渲染任何内容之前,您将向着色器发送投影、视图,有时还发送模型矩阵。我假设您正在使用 BasicEffect 并且已经创建了一个投影矩阵。

您可以使用:

Matrix rotation = Matrix.CreateFromYawPitchRoll(XAxisAngleHere, YAxisAngleHere, 0);

其中 X(偏航)是上下旋转,Y(俯仰)是左右旋转(如果 y 是投影矩阵中的向上轴)。将此矩阵分配给您的效果视图。

如果您需要更多信息,请告诉我!

© www.soinside.com 2019 - 2024. All rights reserved.