搞清楚FPS类游戏的矩阵骨骼自瞄方框透视

初识矩阵

其实矩阵是线性代数里面的说法

矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 [1]

 ,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。

need-to-insert-img

类似:

矩阵的乘法:

向量

搞清楚FPS里的矩阵 首先要先理解向量

1 向量是表述一个点的运动方向和大小的

这其实是向量转为矩阵的一个过程

相机FOV

咱们看到的是一个二维的屏幕,而游戏里面是一个真实的 三维立体的世界,那游戏是怎么做到的呢?那就有了FOV这个东西诞生了,

主要分为三种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的矩阵,我们知道了相机的矩阵,也就是知道了相机的坐标角度 朝向 等等,或者说 这个相机处于这个三维空间的 一个什么位置朝向,然后用矩阵来和敌人的坐标进行运算,就可以知道敌人在这个三维世界的位置 朝向 角度了,可能大家会说我都知道他坐标了 直接就能算出来了 没必要这么花里胡哨。但其实 咱们还要画出他的方框的,所以 你没相机矩阵 是没法准确的画出方框的


你可能感兴趣的:(搞清楚FPS类游戏的矩阵骨骼自瞄方框透视)