概述
总体理解:
实现游戏内的自己想要实现的操作,无非是需要两个东西:
1.数据:游戏运行时,数据都是放在内存中的,我们通过拿到这个数据就可以实现一些骚操作,主流使用CE可以看到游戏进程的地址以及数值,这个过程是最困难和繁琐和无聊的,我们要保证数据的正确性和可读性。下面只简单举例,说明数据的重要性
- 就比如透视吧,我们是不是只要知道每个人在我们屏幕上的位置就行?
- 再比如全图瞬移,我们拿到存储在游戏内人物位置的数据并修改就可以实现;
- 再说自瞄,我们可以找到敌人在屏幕上的位置和我们的相机位置(可以暂时理解为屏幕第一人称中心点),通过改变鼠标角度将鼠标角度移动至敌人位置即可;
- 无后座,完全无后座太假,我们可以找到判断发射子弹为第几发的地址,通过修改将每颗子弹都判断为第一发,这样基本就能满足无后座
2.绘制 :这里我们需要会一门语言来实现游戏内的绘制和数据的获取修改,基本上是主流是易语言,c++。要实现的就是通过找到的数据实现方框,骨骼,自瞄无后等,更多骚操作要看你的脑洞有多大
各功能实现简述:
- 透视,方框透视是主流,拿到个人的基地址,通过偏移找到在地图的x,y,z的地址;再通过个人的基地址的偏移找到敌人的基地址(这里基地址必须要有规律,不然无法遍历所有敌人),到这我们就已经可以计算我们和其他的每个人的距离了。我们还需要找到我们的相机位置(就是当前的视野,想象自己站在老的大头显示器后),通过矩阵算法利用X,Y,Z和矩阵的数据得到人物在我们屏幕上的位置,基本上就是脚下的位置,这个点就能定位敌人位置,这样我们就可以把一些东西显示在屏幕上了,每种语言都会提供绘制功能,知道在屏幕上的具体位置,我们就可以在那个位置绘制,屏幕位置是从左上角作为原点的一个二维坐标系,就比如上面的敌人距离,我们可以直接绘制在已经计算好的位置,方框同理,无非是4条直线,这里,我们通过脚下的点往上移动到头部将两个点高度相减可以得到人物的高度,截图分辨率的框,通过宽高比得到宽,方框基本完成。
- 自瞄,游戏世界是三维的,我们相机位置,就是我们自己,已知人物的xyz,通过xoy和yoz分别计算出我们的鼠标X,Y应该移动到多少,再把这些数据写入鼠标的x,y地址实现自瞄,方框自瞄是在方框的固定位置瞄准,在人物蹲下时无法实现有效自瞄,这里骨骼自瞄优势显现,骨骼我们也是通过x,y,z与矩阵算法计算出的相机位置,比较占内存,人物的头,胸腰,脚等以及游戏的所有东西基本都有骨骼,自瞄瞄准一个点就行,恕我直言用自瞄的都是弟弟
- 游戏中没有不可能,只要你敢想
技术交流,兴趣第一!
最后
以上就是秀丽毛巾为你收集整理的FPS透视自瞄基本概念总体理解:的全部内容,希望文章能够帮你解决FPS透视自瞄基本概念总体理解:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复