-
-
[原创] 搞清楚FPS类游戏的矩阵
-
发表于:
2021-10-7 11:37
7697
-
初识矩阵
其实矩阵是线性代数里面的说法
1 2 | 矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 [ 1 ] ,最早来自于方程组的系数及常数所构成的方阵。这一概念由 19 世纪英国数学家凯利首先提出。
类似:
|
矩阵的乘法:
1 | ![](upload / tmp / 785590_79UTG6PRREJ9RXE .png)
|
向量
搞清楚FPS里的矩阵 首先要先理解向量
1 向量是表述一个点的运动方向和大小的
相机FOV
咱们看到的是一个二维的屏幕,而游戏里面是一个真实的 三维立体的世界,那游戏是怎么做到的呢?那就有了FOV这个东西诞生了,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 主要分为三种fov类型
horizontal fov 16 : 9 (overwatch, farcry, pubg)
horizontal fov 4 : 3 (csgo, apex legend)
vertical fov(战地系列,彩 6 围攻)
高fov会使你感觉人物移动速度更快,看到的东西更广(屏幕显示更多东西),敌人也会变小,让你感觉后坐力也似乎变小(不是真正变小,但会给人这种感觉)这种感觉。
低fov反之。
理论上说高fov可能会对电脑性能要求更高,但一般游戏其实不会感觉到有帧数影响。
就是用一个相机拍个照 那你通过屏幕看到的不就是二维的了
2 咱们知道向量只是表述一个坐标点的方向和大小 ,但是在游戏世界中,当我作为一个玩家看向一个物体 或者说一个敌人的时候 我该如何表达他的 坐标?水平朝向?垂直朝向?角度?,这时候 我们就会用到 3 * 3 或者 4 * 4 或者更大的矩阵 来描述 敌人的状态
|
FPS矩阵
上面说了这么多 其实我们要找的就是相机FOV的矩阵,我们知道了相机的矩阵,也就是知道了相机的坐标角度 朝向 等等,或者说 这个相机处于这个三维空间的 一个什么位置朝向,然后用矩阵来和敌人的坐标进行运算,就可以知道敌人在这个三维世界的位置 朝向 角度了,可能大家会说我都知道他坐标了 直接就能算出来了 没必要这么花里胡哨。但其实 咱们还要画出他的方框的,所以 你没相机矩阵 是没法准确的画出方框的
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)