• FPS游戏:视场角矩阵的特点


    在前面的FPS游戏实现GDI透视中,我们通过三角函数,并配合坐标计算出了敌人的位置,该方法时比较笨的一种方式,但却很通用,基本上,只要是FPS类游戏,稍微修改一下代码中的基地址,就可以通用,本次我们将研究通过查找相机矩阵获得自身位置,上一篇文章中我已经讲解了关于各种坐标的找法。

    > 本人坐标x = server.dll+4F2FEC + 288 - 8
    > 本人坐标y = server.dll+4F2FEC + 288 - 4
    > 本人坐标z = server.dll+4F2FEC + 288
    
    > 敌人x = server.dll+4F2FFC + 288 - 8
    > 敌人y = server.dll+4F2FFC + 288 - 4
    > 敌人z = server.dll+4F2FFC + 288 
    
    > 鼠标 x = engine.dll+61D254 + 4
    > 鼠标 y = engine.dll+61D254
    > 鼠标 x = client.dll+4C0300 + 4
    > 鼠标 y = client.dll+4C0300
    
    > FOV = client.dll+5046F0
    > FOV = client.dll+504628
    > FOV = client.dll+5047B8
    > FOV = client.dll+50489C
    > FOV = engine.dll+3C1720
    
    > 算上我自己的人机数量:  server.dll+4EEFE8
    > 算上我自己的人机数量: engine.dll+5D29BC
    
    > 不算我自己的人机数量:  server.dll+4EEFE0
    > 不算我自己的人机数量: server.dll+588878
    
    自己血量偏移 = e4
    > 自己血量: server.dll+54B6C8
    > 自己血量: server.dll+54A82C
    > 自己血量: server.dll+4F2FEC
    > 敌人血量: server.dll + 4F2FFC + e4
    
    > 本人阵营: server.dll+4F2FEC + 1F4
    > 敌人阵营: server.dll+4F2FFC + 1F4
    
    > 本人阵营: server.dll+54A82C + 1F4
    > 本人阵营: server.dll+54B6C8 + 1F4
    

    熟悉矩阵特点

    通常情况下Dx9中会采用4*4的矩阵,这里我分别找了三款CS系列游戏的矩阵,并来分析一下他们的异同点。

    1.找矩阵的方法就是不断移动自己相机位置,最好拿把狙击枪,然后开镜搜索变动的数值,移动身体搜索变动数值,或者是开镜移动身体搜索变动的数值,
    这样配合来找,最终可以锁定在2000个数值左右,然后就可以开找,通常矩阵头晃动鼠标不会出现大于3的值,一般会在-0.x - 1.x 之间徘徊。

    竖矩阵的第三个值,通常为0,就算乱晃,也会保持0的位置。

    找到矩阵地址,当我们让人物只跳动时,矩阵呈现出来的效果如下。

    上下晃动鼠标,矩阵呈现出来的效果如下。

    左右晃动鼠标,矩阵呈现出来的效果如下。

    开启关闭狙击镜,矩阵变化。

    完全乱晃状态如下,4*4

    矩阵,不只一个,如下是另一处,矩阵的数据。

    另一处矩阵位置。

    人物死后,矩阵被初始化。


    不是矩阵的矩阵

    第一种不是矩阵的情况,数据跳动幅度较乱,并且不是4*4在跳动,而是很多行。

    第二种,混乱无序,不连贯,不是一个结构体,不是矩阵。

    第三种,最常见的乱序,不是矩阵。

    第四种,加密后的地址,晃动鼠标,不会发生任何变化。


    代码中相机对应关系

    相机X对应关系

    相机Y对应关系

    相机Z对应关系,我们只用到了前三行,后面的不用了。

    4x4竖矩阵,是这样,只是前三行,最后跑到了下面。

    如果是横矩阵会发生变化,如下。

    所以上面的算法部分,需要稍微小改一下,即可完成横矩阵的透视效果。

  • 相关阅读:
    sklearn
    Scrapy
    正则表达式re
    BeautifulSoup
    requests
    Python网络爬虫与信息提取
    Matplotlib
    Pandas
    NumPy
    制约大数据处理能力的几个问题
  • 原文地址:https://www.cnblogs.com/LyShark/p/13198210.html
Copyright © 2020-2023  润新知