FPS游戏方框透视的实现原理

Posted lyshark

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPS游戏方框透视的实现原理相关的知识,希望对你有一定的参考价值。

FPS游戏可以说一直都比较热门,典型的代表有反恐精英,穿越火线,吃鸡等.基本上只要是FPS游戏都会有透视挂的存在,而透视挂还分为很多种类型,常见的有D3D透视,方框透视,还有一些比较高端的显卡透视,在透视实现难度上,方框透视是最复杂的一种,本次实验将学习方框透视的实现算法,并编写通用辅助实现透视效果.

首先来说一下D3D透视与方框透视的优缺点吧:

D3D透视: 其原理是通过Hook注入的方式挂接到相应DirectX库中的绘图函数上,在绘图之前禁用Z轴缓冲,Z轴缓冲就是要告诉摄像机,如果人物在箱子或墙的后面,就不用显示这个人物模型,如果人物在这个箱子或墙的前面,就强制渲染并显示他,通常会挂接DrawIndexedPrimitive这个绘图函数来感知绘图操作,并通过 SetRenderState(D3DRS_ZENABLE, FALSE) 函数修改缓冲参数,实现透视效果,相应的由于需要注入到游戏进程中,所以很容易被检测到,需要配合过检测才能奔放。

方框透视: 相比于D3D透视而言,方框透视是比较老掉牙的了,但是方框透视有一个非常大的优势那就是无需向进程中注入任何代码,所有的参数都是由程序中的算法计算得到的,并通过GDI绘图函数在窗体上直接绘制图形,这种方式的优点是很难被检测到,比较通用基本上支持任何的FPS游戏,而缺点就是绘制的图形频繁闪烁,这是因为游戏中的刷新频率与绘图函数刷新频率不一致导致的。

技术图片

未完待续.。。。。

以上是关于FPS游戏方框透视的实现原理的主要内容,如果未能解决你的问题,请参考以下文章

FPS游戏逆向-方框透视(矩阵)

FPS游戏:D3D内部游戏菜单实现

基于yolov7实现FPS游戏自瞄开枪,理论上通杀所有射击游戏

Ai实现FPS游戏自动瞄准 yolov5fps自瞄

投影方式- Unity3D游戏开发培训

图像透视变换原理与实现