我正在尝试在 XNA (MonoGame) 中创建一个第一人称控制器。但是,我不确定如何旋转 3D 相机
我被告知要制作一个旋转矩阵,但我不确定如何将其实现到我的相机中。
我尝试过以下方法:
Matrix rotation = Matrix.CreateRotationX(MathHelper.ToRadians(1f));
我不确定如何将其添加到我的相机中,以便我可以左右旋转相机。
有什么建议吗?
通常,在渲染任何内容之前,您将向着色器发送投影、视图,有时还发送模型矩阵。我假设您正在使用 BasicEffect 并且已经创建了一个投影矩阵。
您可以使用:
Matrix rotation = Matrix.CreateFromYawPitchRoll(XAxisAngleHere, YAxisAngleHere, 0);
其中 X(偏航)是上下旋转,Y(俯仰)是左右旋转(如果 y 是投影矩阵中的向上轴)。将此矩阵分配给您的效果视图。
如果您需要更多信息,请告诉我!