FPS通用的方框透视公式的原理

解读模型矩阵

模型矩阵里面的XYZ是FPS游戏逆向爱好者最经常找的基质之一,一般游戏中人物某些都不会进行颠倒之类的,所以绿色区域一般都不会有多少变动,那么我们找内存基址的时候都找红色区域的数值既可以不用特意去找模型矩阵,当然你想让游戏人物变成路飞之类的变态修改那当我没说ヾ(•ω•`)o

视角矩阵的解析

游戏逆向爱好者一般开发内存透视都需要这段基质(俗称找矩阵),当然寻找这段基质很不容易

以上就是相机的矩阵,矩阵存的东西有很多种可能,经过不断调试分析,得出很多不靠谱的猜想,这里就不多阐述了。可以缺点的是红色区域表示的是相机的角度,绿色区域是根据世界坐标和红色区域通过某种公式得出来的。

这里补充一下概念,

学校里学习过向量,那么您可能会熟悉将其视为箭头,可以将它们加在一起,乘以实数等等,但是将向量相乘的工作原理有所不同。这听起来很熟悉吗?这应该。矩阵就是这样工作的,这不是巧合。

矩阵是线性变换的表示: 可以这样理解,一处变,处处变

通过以上俩个特性俩矩阵相乘可以得到特殊含义的矩阵

模型矩阵和视角矩阵相乘得到的矩阵就是相机与模型的相对位置

解读模型视角的矩阵

获得了相机与模型在世界坐标的相对位置后,我们根据Z轴和我们视角距离进行分析如图

这里是模型刚刚好在相机的视角距离,那么当模型靠近的时候

此时视角中模型变大这是我们就需要一个缩放比例来控制模型的变化。

根据 视角距离/Z轴的相对距离 就获得了缩放比例

这时它的缩放比例是相对于世界坐标的,并没有按屏幕进行缩放,所以我们再加上屏幕的视角宽高

就获得真正的缩放比例公式:

Y轴缩放:(视角距离/Z轴的相对距离)*视角高

X轴缩放:(视角距离/Z轴的相对距离)*视角宽

当模型靠近的时候对X,Y坐标进行比例缩放如下

有了缩放比例我们就可以通过XY轴在我们屏幕上画有纵深感的点了

根据矩阵相乘获得的

X*缩放比例=屏幕上对应的点的X

Y*缩放比例=屏幕上对应的点的Y

缩放比例我们就可以通过XY轴在我们屏幕上画有纵深感的点了

根据矩阵相乘获得的

X*缩放比例=屏幕上对应的点的X

Y*缩放比例=屏幕上对应的点的Y

有了XY就可以通过XY吧点画在屏幕上,那个点就是敌人的实时位置,再通过点画出框就实现了方框透视

                      ***在此感谢  B站,一只大笨熊***

FPS通用的方框透视公式的原理相关推荐

  1. c语言游戏call调用,C语言-植物大战僵尸-刷僵尸call;fps游戏CS-方框透视(矩阵+传统)...

    C语言-植物大战僵尸-刷僵尸call:fps游戏CS-方框透视(矩阵+传统)前言:大家好,我是向上先生,嘿嘿~最近在学习逆向.反汇编等等,首先我在非常感谢52pojie这个平台,差不多很多学习资源都是 ...

  2. C/C++FPS实战CSGO矩阵方框透视骨骼自瞄实战教程

    C/C++FPS实战CSGO矩阵方框透视骨骼自瞄实战教程

  3. FPS 游戏实现D3D透视

    FPS游戏可以说一直都比较热门,典型的代表有反恐精英,穿越火线,绝地求生等,基本上只要是FPS游戏都会有透视挂的存在,而透视挂还分为很多种类型,常见的有D3D透视,方框透视,还有一些比较高端的显卡透视 ...

  4. 【人工智能】AGI 通用人工智能基础概念、实现原理、挑战和发展前景

    Artificial intelligence prompt completion by dalle mini, https://github.com/borisdayma/dalle-mini 通用 ...

  5. fps游戏通用内存自瞄算法的原理与C++实现

    目录 算法原理 获取敌人离屏幕中心的距离 取得离屏幕最近的敌人距离 C++实现自瞄

  6. 【游戏逆向】FPS游戏自瞄透视之堆栈分析

    我们想做FPS游戏的自瞄透视功能,最基础的数据就是周围所有目标的坐标值只有确定了所有目标的位置,我们才能用算法写出自瞄和透视. 首先我们拿自身的血量当突破口,找出周围所有目标的遍历. 竞技场血量不好找 ...

  7. getPerspectiveTransform通过4对点确认透视变换矩阵的原理分析

    ☞ ░ 老猿Python博文目录:https://blog.csdn.net/LaoYuanPython ░ 一.引言 图像透视变换(Perspective Transformation)的本质是将图 ...

  8. 复合辛普森求积公式原理_辛普森法则:公式及其原理

    复合辛普森求积公式原理 Simpson's rule is a method for numerical integration. In other words, it's the numerical ...

  9. 【朴素贝叶斯】深入浅出讲解朴素贝叶斯算法(公式、原理)

    本文收录于<深入浅出讲解自然语言处理>专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅! ​个人主页:有梦想的程序星空 ​个人介绍:小编是人工智能领域硕士,全栈工 ...

  10. 【笔记】excel做累计到天的销售公式匹配原理

    A B C D E F G H I J K L M N O      日期品牌 1 2 3 4 5 6 7 8 9 10 11 12 13 14 戴森 49  62  59  24  5  19  4 ...

最新文章

  1. 【学习笔记】系统观核心管理理论
  2. FreeMarker语法指南
  3. 浅析三种特殊进程:孤儿进程,僵尸进程和守护进程
  4. 学习《apache源代码全景分析》之过滤器部分摘录
  5. pads9.5在win10中选项字体显示不全问题解决补丁下载(网盘免费下载)
  6. oracle 韩思捷,oracle
  7. 好用的WPF开源UI框架项目
  8. 仿uc设置默认浏览器
  9. ResourceBundle读取properties文件
  10. 打开网页右下角广告栏慢慢出现,点击慢慢消失
  11. 怎么才能编辑PDF里面的内容
  12. winpe下安装linux工具箱,(U盘中安装WinPE、Ubuntu、BT3、CDLinux系统和DOS工具箱等工具的方法.doc...
  13. 网易云课堂-缓存介绍
  14. java分号_java – 为什么这些分号不会产生错误?
  15. swustoj 143 汉诺塔
  16. MATLAB中如何打角标和希腊字母
  17. 单摆测重力加速度的算法(Python)
  18. processing实现图像碎片化
  19. tar 解压指定文件,解压到指定文件夹
  20. centos 7.6 ——AWstate 日志分析工具——优化域名

热门文章

  1. DX C++实现超炫酷粒子特效之烟花特效
  2. css3实现椭圆轨迹运动
  3. SMILES的基本规则
  4. 机器学习:训练集和测试集
  5. win7电脑怎样修改环境变量
  6. R语言:作业二(矩阵:求行列式、逆矩阵、特征值、特征向量)【补充:矩阵相关运算知识】
  7. Beego 使用redigo连接redis
  8. 电力系统分析计算机辅助试题,电力系统计算机辅助分析.docx
  9. 【ShaderLab学习】AlphaTest AlphaBlend理解[2]
  10. TestBench 基本写法与框架