【发布时间】:2013-03-23 23:20:51
【问题描述】:
我制作了一个 3D 场景,其中包含三组模型。我有一台相机正在查看其中一个组。 这些组中的模型围绕组中心(上轴)旋转,模型也旋转自己的局部中心(上轴)。
这类似于 XNA Racing Game 的汽车选择屏幕。 唯一的区别是我希望能够旋转我的相机来查看另一组。 旋转相机以查看下一组时,我想将其旋转 120 度(我有 3 个模型组 360/3=120)
注意: - 摄像头正在从小组平面上方略高于小组的位置观察小组。
相机:
viewMatrix = Matrix.CreateLookAt(cameraPosition, cameraTarget, Vector3.Up);
projectionMatrix = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, aspectRatio, 1f, 1000f);
好的:
- 我可以围绕自己的轴旋转模型。
- 我可以围绕组中心点向左或向右旋转模型组 (在游戏画面中,离画面最近的模型是当前选中的模型)。
不行:
- 我找不到正确的方法来围绕它自己的上轴旋转相机。
几张图片来说明这种情况:
【问题讨论】: