在 3D 游戏引擎中实现摄像机移动和旋转

Implementing Camera Movement and Rotation in 3D Game Engine

提问人:MiguelP 提问时间:8/8/2023 更新时间:8/8/2023 访问量:44

问:

对于术语上的任何错误,我提前道歉,我真的是新手

我对 3D(它是数学)完全陌生,但作为个人练习,我正在做自己的游戏引擎,显示一个简单的线框。

我实现了旋转(x、y 和 z)、正交、等距、透视投影矩阵(主要列)和 look_at 函数。

我有一个点列表,我的基本管道(在按键上)如下:

  1. 获得原始积分
  2. 规模
  3. rotate_x
  4. rotate_y
  5. rotate_z
  6. look_at(凸轮,目标,上)
  7. 投影
  8. 翻译到窗口的中心 它适用于硬编码的相机和目标坐标

但是,我希望能够:

  1. 在我当前所在的同一平面上/向下/向左/向右移动相机。
  2. 为了能够绕 z 轴旋转该平面
  3. 为了使平面,相机离 Z 轴更近或更远 但我不知道该怎么做。(四元数或矩阵)

我之所以要绕 z 轴而不是 y 轴旋转,是因为我没有实现任何坐标系,并且硬编码的相机和目标值用于等轴测投影。

我该怎么做?

数学 图形 3D 投影 矩阵

评论

0赞 Spektre 8/8/2023
请参阅了解 4x4 同质变换矩阵和其中的所有子链接,尤其是末尾的子链接......
0赞 MiguelP 8/9/2023
@Spektre谢谢!我看到你很精通这个,你能帮我解决另一个问题吗?

答: 暂无答案