Skip to content

通过图像匹配算法,从原神客户端中获取角色在地图上的位置

License

Notifications You must be signed in to change notification settings

GengGode/cvAutoTrack

Repository files navigation

this Chinese, Click to English

GenshinImpact AutoTrack DLL

通过图像匹配算法,从原神客户端中获取角色在地图上的位置的DLL动态链接库

GitHub version dev-window-dynamic convention platform

注意事项

  • 本项目借游戏画面的窗口截图进行图像处理算法以实现所有功能,其不会对游戏内存进行读写,因而不会有封号的风险,但效果也因此具备一定的局限。
  • 项目仅在有限的条件下测试过,如需排查错误,强烈建议按照以下描述进行环境配置。
    • 原神客户端 > 右上角派蒙 > 设置 > 抗锯齿,设置为 SMAA
    • 原神客户端 > 右上角派蒙 > 设置 > 其他 > 小地图锁定,设置为 锁定方向

介绍

新版本计划 7.x

  • 添加对秘境中的角度和视野识别
  • 实现无透明通道下的视野识别
  • 实现日志可控制不输出
  • 添加定位的惯性加速度导航算法(见 giAlgorithmVerification 库)
  • 添加定位的自动校准算法
  • 支持任意地图区域
  • 支持传入地图而非内嵌
  • 可选的嵌入预计算结果
  • 更高的匹配精度
  • 使用二进制文件而不是xml序列化追踪特征点
  • 不再内嵌预计算结果,首次运行将会在运行目录生成缓存xml
  • 目前支持任意分辨率,以及手柄模式,但暂不支持小地图设置的【跟随视角】仅支持【锁定方向】

如何使用

  1. 下载编译好的动态链接库。
  2. 装载动态链接库后,根据函数目录对相关函数进行调用或封装。
  3. 部分语言的调用可参见 impl 文件夹内的调用示例。
  4. 由于默认接口输出的是天理坐标模型的坐标,所以使用者需要根据自身地图坐标系与天理坐标模型之间的映射关系,设置世界中心以及缩放系数或者后期手动换算。

如何编译(即将转向cmake构建)

  1. 环境需求,Visual Studio 2019 +Opencv 4.5.0 static lib zip

  2. 安装 Visual Studio 2019 +

  3. 创建 Opencv 库的环境变量,若不使用环境变量则需要手动修改 cvAutoTrack 项目的附加包含目录附加库目录

    $OpenCvDir = C:\projects\opencv\

  4. 下载 Opencv 4.5.0 static lib zip 并解压到任意目录

    7z x ./*.zip -y -o%OpenCvDir%

  5. Clone 代码

    Git Clone https://github.com/GengGode/cvAutoTrack

  6. 进入项目文件夹解压资源文件

    cd .\cvAutoTrack | 7z -x resource.zip

  7. 编译项目

    msbuild cvAutoTrack.sln

对于开发者

项目结构

  • cvAutoTrack,dll工程
  • doc,文档及部分插图
  • impl,部分语言的调用示例
    • Cpp/TEST_cvAutoTrack_Cpp C++调用
    • CSharp/TEST_cvAutoTrack_CSharp C#调用
    • Python Python调用

错误处理

特别感谢