AImer - 基于计算机视觉目标检测的辅助瞄准学习项目

代码仓库:https://github.com/HeHaoyang1124/AImer

声明

  • 本项目一切源码仅供学习使用,可自由修改并应用于离线游戏,但不应用于在线游戏而破坏游戏公平性。

  • 本项目的程序在线上游戏存在封号风险,因违规竞技造成的后果需要自行承担。

  • 希望各位玩家热爱游戏、尊重对手、珍视账号,共同维护游戏的公平竞技环境。

简介

AImer 是一个基于计算机视觉目标检测的辅助瞄准项目,目前可用于【无畏契约】,【CS2】,【生死狙击】进行辅助瞄准。

辅助瞄准展示

关于性能

  • 使用显卡加速推理,会与游戏竞争计算资源,实际推理帧数与设备性能有关

  • 推理帧数过高不总是好事,当推理比弹道回正速度快时,程序会自动压镜头,导致连续空枪。
    您可以在autoAim.cpp中注释掉自动开火,自己把握射击的主动权

程序逻辑

  • 屏幕截取:使用DXGI来抓取屏幕中间 640 × 640 640\times640 640×640 的区域

  • 目标检测:基于yolo11n训练,导出为onnx模型,并使用onnxruntime进行推理

  • 鼠标控制:使用IbInputSimulator模拟鼠标进行控制。
    在目标靠近准星时使用吸附模式进行微调,在远距离时直接计算鼠标输入实现“一帧拉”

适配情况

  1. 本项目的目标平台为windows 11,使用NVIDIA显卡加速推理。
    其他厂商的显卡尚不可用,其他windows版本未进行测试。

  2. 本项目模拟罗技鼠标(见安装依赖),屏幕分辨率为 2560 × 1440 2560\times 1440 2560×1440,截取为屏幕中心 640 × 640 640\times640 640×640

    • 模拟不同鼠标驱动默认灵敏度可能会有所差异
    • 不同分辨率下截屏的视场角可能有所差异
  3. 目前适配的游戏及推荐设置如下

    序号 游戏 鼠标灵敏度 垂直同步
    0 无畏契约 0.1
    1 CS2 1.0
    2 生死狙击 10,关闭鼠标平滑
    • 不同灵敏度在相同的模拟输入下未必是理想的倍数关系,如果效果不符合预期,可尝试以上的设置
    • 不同游戏引擎对于鼠标输入的处理策略不同,如若准星在目标附近晃动,可尝试开启/关闭垂直同步
  4. 目前支持的模型

    序号 游戏 模型 类别 0 类别 1 类别 2 类别 3
    0 无畏契约 valorant-bot.onnx 头部 全身 - -
    1 CS2 cs2.onnx CT 全身 CT 头部 T 全身 T 头部
    2 生死狙击 ssjj.onnx CT 全身 CT 头部 T 全身 T 头部

其他游戏以及不同配置尚未进行测试,如有需要,可联系作者hehaoyang1124@outlook.com进行适配。

开始游戏

安装依赖

启动程序

  • 启动命令为 AImer.exe <游戏序号> <目标类别> <游戏内灵敏度> <模型地址>
  • 游戏序号,目标检测,模型名称见适配情况表格
  • 例如:AImer.exe 0 0 0.2 "../models/valorant-bot.onnx"
    表示游玩无畏契约,目标类别为头部,游戏内灵敏度为0.2,模型地址为../models/valorant-bot.onnx
  • 以上参数适配原代码,大佬们尽可按需魔改

构建运行(可选)

如果您想要修改源码、或自行编译运行

准备工具:CMake
Visual Studio
OpenCV
CUDNN

# 在powershell中运行如下命令
mkdir build
cd build

# 配置
cmake `
-DOpenCV_DIR=path/to/OpenCV `
-DCUDNN_LIB_DIR=Path/to/CUDNN/xxx/lib/xxx/x64 ..

# 编译
cmake --build . --config Release

# 运行
.\Release\AImer.exe <path/to/model.onnx> <sensitivity>
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐