目录
一,自瞄
准备工作:
计算工作:
二,方框透视
准备工作:
计算工作:
一,自瞄
基于所有的FPS游戏,都有一个人物结构,包含人物在地图上的三维坐标,人物的准心数据。
而实现内存自瞄就是通过查找自己和敌人之前的三维坐标数据,将三维坐标数据转换为二维的准心数据。
准备工作:
1.查找人物的三维坐标数据:
以CS为例子,进入游戏搜索未知的初始值,一般找一个有箱子或者地势有高低差的位置,先查找Z坐标数据(在游戏中一般X,Y,Z坐标是挨着一起的+0,+4,+8的关系),跳到箱子上或走向更高的位置,搜索增加的数值,减少高度搜索减少的数值(浮点型),重复最后找到坐标的基址。
2.查找鼠标的准心坐标数据:
一般游戏鼠标准心Y坐标向上会减少,游戏鼠标准心向下会增加,这样就可以搜索到鼠标的准心Y坐标,-4一般就是X坐标。
3.游戏的俯仰角,偏转角,翻滚角:
俯仰角:用CS举例就是抬头或者低头的时候角度变换,转换到游戏的准心数据就是准心Y,一般游戏为-90° --- 90°的范围
偏转角:CS中就是人物视角转动,比如打转,这个便是游戏的准心数据的X,一般游戏是0° --- 360°
翻滚角:这个举例就是吃鸡里面的左右摇头角度变换
计算工作:
计算出敌我的X差值 X,以及Y和Z的差值Y,Z。
1.计算出准心的X偏转角度:
通过arctan(Y / X)就可以计算出角α的大小,这里可能会想到α的角度在一三和二四象相的tan都一样的情况:
那么在2象相:
用反正切函数计算出的角度是一个负数,这个时候就应该加上一个180°,得到正确的角度值。
同样在三象限得到的α值是一个整数,但是应该加上180°才能得到β的正确角度。
2.计算出准心的Y偏转角度:
因为这是一个三维空间,所以就拿正方体求斜边一样,要先求到二维距离(sqrt(x²+y²))在根据z求到角度值:
通过arctan(Z / 二维距离)可以求得α角大小,这个时候要判断游戏向上俯仰角是减少还是增加,在CS中向上为负数,向下为整数,所以这个α就是
一,自瞄
准备工作:
计算工作:
二,方框透视
准备工作:
计算工作:
一,自瞄
基于所有的FPS游戏,都有一个人物结构,包含人物在地图上的三维坐标,人物的准心数据。
而实现内存自瞄就是通过查找自己和敌人之前的三维坐标数据,将三维坐标数据转换为二维的准心数据。
准备工作:
1.查找人物的三维坐标数据:
以CS为例子,进入游戏搜索未知的初始值,一般找一个有箱子或者地势有高低差的位置,先查找Z坐标数据(在游戏中一般X,Y,Z坐标是挨着一起的+0,+4,+8的关系),跳到箱子上或走向更高的位置,搜索增加的数值,减少高度搜索减少的数值(浮点型),重复最后找到坐标的基址。
2.查找鼠标的准心坐标数据:
一般游戏鼠标准心Y坐标向上会减少,游戏鼠标准心向下会增加,这样就可以搜索到鼠标的准心Y坐标,-4一般就是X坐标。
3.游戏的俯仰角,偏转角,翻滚角:
俯仰角:用CS举例就是抬头或者低头的时候角度变换,转换到游戏的准心数据就是准心Y,一般游戏为-90° --- 90°的范围
偏转角:CS中就是人物视角转动,比如打转,这个便是游戏的准心数据的X,一般游戏是0° --- 360°
翻滚角:这个举例就是吃鸡里面的左右摇头角度变换
计算工作:
计算出敌我的X差值 X,以及Y和Z的差值Y,Z。
1.计算出准心的X偏转角度:
通过arctan(Y / X)就可以计算出角α的大小,这里可能会想到α的角度在一三和二四象相的tan都一样的情况:
那么在2象相:
用反正切函数计算出的角度是一个负数,这个时候就应该加上一个180°,得到正确的角度值。
同样在三象限得到的α值是一个整数,但是应该加上180°才能得到β的正确角度。
2.计算出准心的Y偏转角度:
因为这是一个三维空间,所以就拿正方体求斜边一样,要先求到二维距离(sqrt(x²+y²))在根据z求到角度值:
通过arctan(Z / 二维距离)可以求得α角大小,这个时候要判断游戏向上俯仰角是减少还是增加,在CS中向上为负数,向下为整数,所以这个α就是