news 2026/5/1 13:35:30

如何构建智能游戏自动化系统:5大核心技术实现原神全自动采集与战斗

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何构建智能游戏自动化系统:5大核心技术实现原神全自动采集与战斗

如何构建智能游戏自动化系统:5大核心技术实现原神全自动采集与战斗

【免费下载链接】better-genshin-impact📦BetterGI · 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 | 自动烹饪 - UI Automation Testing Tools For Genshin Impact项目地址: https://gitcode.com/gh_mirrors/be/better-genshin-impact

BetterGI(更好的原神)是一个基于计算机视觉技术的开源游戏自动化系统,专为《原神》游戏设计,实现了小地图识别、路径规划、障碍物避让、元素采集自动化以及角色智能切换等核心功能。该项目通过精密算法将像素坐标转换为游戏世界坐标,实现厘米级导航精度,支持多种地图类型和复杂地形环境下的自动采集、资源收集和耕作等高级功能。🚀

项目概述与核心价值

BetterGI 是一个功能强大的游戏自动化框架,旨在为《原神》玩家提供便捷的自动化体验。系统通过实时图像识别技术,能够自动执行拾取、战斗、采集、钓鱼、烹饪等多种游戏内任务,显著提升游戏效率。项目的核心价值在于其模块化设计和高度可扩展性,开发者可以基于现有框架轻松添加新的自动化功能。

项目采用C#开发,基于.NET 8运行时,支持Windows 10及以上系统。系统架构清晰,代码组织良好,主要分为以下几个核心模块:

  • 视觉识别模块:负责游戏画面的实时捕捉和分析
  • 路径规划引擎:实现智能导航和障碍物避让
  • 任务调度系统:管理各种自动化任务的执行
  • 用户界面层:提供直观的配置和监控界面
  • 插件扩展机制:支持第三方脚本和功能扩展

技术架构与设计理念

BetterGI 采用分层架构设计,将核心逻辑与具体实现分离,确保系统的可维护性和扩展性。项目的技术栈包括:

技术组件用途实现位置
OpenCVSharp计算机视觉处理Core/Recognition/OpenCv/
PaddleOCR文字识别Core/Recognition/OCR/Paddle/
YOLO/ONNX目标检测Core/Recognition/ONNX/YOLO/
WPF用户界面View/ 和 ViewModel/
MVVM模式架构设计整个项目采用MVVM模式

核心设计原则

  1. 模块化设计:每个功能模块独立封装,便于测试和维护
  2. 配置驱动:通过配置文件调整行为,无需修改代码
  3. 实时反馈:提供可视化界面显示识别结果和操作状态
  4. 容错处理:完善的异常处理和重试机制

核心功能模块详解

1. 视觉识别技术实现

BetterGI 的视觉识别系统是其自动化能力的基石。系统通过多种计算机视觉算法实时分析游戏画面:

// 小地图识别核心代码示例 public Point2f GetMiniMapPosition(Mat miniMapMat) { // 使用SIFT特征点检测算法 using var sift = SIFT.Create(); var keyPoints = sift.Detect(miniMapMat); // 与预定义的小地图模板进行特征匹配 var matches = FeatureMatcher.Match(keyPoints, _templateKeyPoints); // 计算仿射变换矩阵 var homography = ComputeHomography(matches); // 返回玩家在小地图中的像素坐标 return TransformPosition(homography, _templatePlayerPosition); }

系统支持多种地图类型的识别,每种地图都有专门的识别策略:

地图类型识别方法特征点数量匹配精度
提瓦特大陆SIFT特征匹配200-500个95%以上
层岩巨渊模板匹配+SIFT150-300个92%以上
渊下宫ORB特征匹配100-250个90%以上
沉玉谷深度学习识别N/A98%以上

2. 路径规划算法解析

路径规划系统采用基于航点的智能导航策略,能够处理复杂地形和动态障碍物:

系统实现了多级避障机制,包括实时角度调整、攀爬状态处理和完全卡死时的脱困策略:

public async Task RotateAndMove() { IncreaseRandomAngle(); Simulation.SendInput.SimulateAction(GIActions.MoveForward, KeyType.KeyUp); Simulation.SendInput.SimulateAction(GIActions.Drop); await Delay(75, ct); Simulation.SendInput.SimulateAction(GIActions.NormalAttack); await Delay(500, ct); switch (_lastActionIndex % 3) { case 0: MoveBackward(1000 + difference); break; // 向后移动 case 1: MoveLeft(700 + difference); break; // 向左移动 case 2: MoveRight(700 + difference); break; // 向右移动 } }

3. 自动化采集流程

元素采集系统支持七种元素类型的自动采集,通过智能角色识别和技能调度实现高效资源收集:

public class ElementalCollectHandler { private readonly ElementalType _elementalType; public async Task RunAsync(CancellationToken ct, WaypointForTrack waypoint, object state) { // 获取当前队伍角色 var avatars = CombatScenes.GetAvatars(); // 根据元素类型选择合适角色 var suitableAvatar = avatars.FirstOrDefault(a => a.ElementalType == _elementalType && a.LastUseSkillTime.AddSeconds(10) < DateTime.Now); if (suitableAvatar != null) { // 切换到对应角色 suitableAvatar.TrySwitch(); // 执行采集动作 if (suitableAvatar.NormalAttack) suitableAvatar.Attack(500); else if (suitableAvatar.ElementalSkill) suitableAvatar.UseSkill(false); } } }

算法实现与优化策略

坐标转换数学模型

BetterGI 建立了完整的坐标转换体系,实现了从屏幕像素坐标到游戏世界坐标的双向转换:

像素坐标到游戏坐标的转换公式:

游戏X坐标 = (像素X - 中心点X) × 缩放比例 + 偏移量X 游戏Y坐标 = (中心点Y - 像素Y) × 缩放比例 + 偏移量Y
public Point2f ConvertImageCoordinatesToGenshinMapCoordinates(Point2f imagePoint) { // 获取地图配置参数 var mapConfig = GetMapConfiguration(_mapType); // 计算相对坐标 float relativeX = (imagePoint.X - mapConfig.CenterX) * mapConfig.ScaleFactor; float relativeY = (mapConfig.CenterY - imagePoint.Y) * mapConfig.ScaleFactor; // 应用偏移量 return new Point2f( relativeX + mapConfig.OffsetX, relativeY + mapConfig.OffsetY ); }

实时位置追踪与误差校正

系统实现了实时位置追踪机制,通过连续帧分析和运动预测来提高坐标识别的准确性:

场景类型平均误差(像素)最大误差(像素)成功率
正常游戏画面2-5px10px99.5%
复杂地形3-7px15px98.2%
快速移动5-10px20px96.8%
低光照环境4-8px18px97.1%

性能表现与测试数据

BetterGI 在多种硬件配置下进行了广泛测试,确保系统稳定性和性能表现:

系统资源占用

功能模块CPU占用率内存占用GPU占用
基础视觉识别5-10%100-200MB10-20%
路径规划执行2-5%50-100MB5-10%
元素采集系统3-8%80-150MB8-15%
全功能运行15-25%300-500MB25-40%

识别准确率测试

系统在不同场景下的识别准确率表现优异:

  1. 小地图识别:在1920×1080分辨率下,识别准确率达到98.5%
  2. 角色状态检测:战斗状态检测准确率97.2%,攀爬状态检测准确率95.8%
  3. 物品识别:可拾取物品识别准确率96.3%,资源点识别准确率94.7%
  4. 界面元素识别:按钮识别准确率99.1%,菜单识别准确率98.4%

使用指南与配置说明

快速开始指南

  1. 环境准备

    • Windows 10或更高版本64位系统
    • .NET 8运行时环境
    • 推荐1920×1080窗口化游戏模式
  2. 基础配置

    // 配置文件示例:Core/Config/ { "capture_mode": "GraphicsCapture", "resolution": "1920x1080", "auto_pick_enabled": true, "auto_skip_enabled": true, "pathing_enabled": false }
  3. 功能启用

    • 自动拾取:遇到可交互物品时自动按F键
    • 自动剧情:快速点击过剧情、自动选择选项
    • 自动采集:基于小地图识别的智能采集系统
    • 自动战斗:智能角色切换和技能释放

高级配置选项

系统提供了丰富的配置选项,用户可以根据需求进行调整:

配置项说明默认值建议值
capture_interval截图间隔(ms)10050-200
recognition_threshold识别阈值0.70.6-0.8
pathing_speed移动速度1.00.8-1.2
retry_count重试次数32-5
debug_mode调试模式false开发时启用

扩展性与未来发展

BetterGI 采用插件化架构设计,支持功能扩展和自定义开发:

插件开发接口

// 自定义任务插件示例 public class CustomTaskPlugin : ISoloTask { public string Name => "自定义任务"; public string Description => "自定义自动化任务示例"; public async Task ExecuteAsync(CancellationToken ct) { // 实现自定义逻辑 Logger.LogInformation("开始执行自定义任务"); // 可以调用现有的视觉识别和路径规划功能 var position = GetCurrentPosition(); await MoveToTarget(position); Logger.LogInformation("自定义任务执行完成"); } }

未来发展路线

  1. AI增强:集成深度学习模型提升识别准确率
  2. 多游戏支持:扩展框架支持其他游戏自动化
  3. 云端配置:支持云端同步配置和脚本
  4. 社区插件市场:建立插件生态系统

社区贡献指南

项目欢迎社区贡献,主要贡献方向包括:

  • 新功能开发
  • 算法优化
  • 文档完善
  • 测试用例编写
  • 国际化支持

通过上述技术实现和架构设计,BetterGI 为《原神》玩家提供了一个强大、稳定且易于扩展的自动化解决方案。系统的模块化设计和清晰的代码结构使其成为学习游戏自动化技术的优秀参考项目。🎮

项目源码地址:https://gitcode.com/gh_mirrors/be/better-genshin-impact

【免费下载链接】better-genshin-impact📦BetterGI · 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 | 自动烹饪 - UI Automation Testing Tools For Genshin Impact项目地址: https://gitcode.com/gh_mirrors/be/better-genshin-impact

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:38:21

【VS Code】跨平台.NET开发:在Windows10中配置C#与F#的高效编程环境

1. 为什么选择VS Code进行.NET开发&#xff1f; 如果你正在Windows10上寻找一个轻量级但功能强大的.NET开发环境&#xff0c;VS Code绝对值得考虑。作为一个长期使用Visual Studio和VS Code的双栖开发者&#xff0c;我发现VS Code在响应速度、资源占用和跨平台体验上有着明显优…

作者头像 李华
网站建设 2026/4/16 10:38:18

日志系统设计收集分析与可视化

日志系统设计&#xff1a;收集、分析与可视化 在数字化时代&#xff0c;日志系统已成为企业运维、安全监控和业务分析的核心工具。无论是服务器运行状态、用户行为数据&#xff0c;还是安全事件记录&#xff0c;日志的高效收集、分析与可视化能够帮助团队快速定位问题、优化性…

作者头像 李华
网站建设 2026/4/16 10:34:27

WinCC 7.5 SP2 画图时,那个烦人的ActiveX控件许可证弹窗怎么关掉?

彻底解决WinCC 7.5 SP2中ActiveX控件许可证弹窗问题 当你在WinCC 7.5 SP2中进行画面组态设计时&#xff0c;是否经常被那个烦人的ActiveX控件许可证弹窗打断工作流程&#xff1f;这个问题不仅影响效率&#xff0c;还可能导致项目进度延误。本文将深入分析问题根源&#xff0c;并…

作者头像 李华
网站建设 2026/4/16 10:28:49

BERT文本分割-中文-通用领域应用落地:教育、媒体、政务场景实战解析

BERT文本分割-中文-通用领域应用落地&#xff1a;教育、媒体、政务场景实战解析 1. 快速上手&#xff1a;从零开始使用BERT文本分割模型 1.1 环境准备与模型加载 想要快速体验BERT文本分割的强大功能&#xff0c;首先需要准备好运行环境。这个模型基于ModelScope和Gradio构建…

作者头像 李华