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

张开发
2026/4/16 10:38:22 15 分钟阅读

分享文章

如何构建智能游戏自动化系统:5大核心技术实现原神全自动采集与战斗
如何构建智能游戏自动化系统5大核心技术实现原神全自动采集与战斗【免费下载链接】better-genshin-impactBetterGI · 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 | 自动烹饪 - UI Automation Testing Tools For Genshin Impact项目地址: https://gitcode.com/gh_mirrors/be/better-genshin-impactBetterGI更好的原神是一个基于计算机视觉技术的开源游戏自动化系统专为《原神》游戏设计实现了小地图识别、路径规划、障碍物避让、元素采集自动化以及角色智能切换等核心功能。该项目通过精密算法将像素坐标转换为游戏世界坐标实现厘米级导航精度支持多种地图类型和复杂地形环境下的自动采集、资源收集和耕作等高级功能。项目概述与核心价值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. 视觉识别技术实现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) × 缩放比例 偏移量Ypublic 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%识别准确率测试系统在不同场景下的识别准确率表现优异小地图识别在1920×1080分辨率下识别准确率达到98.5%角色状态检测战斗状态检测准确率97.2%攀爬状态检测准确率95.8%物品识别可拾取物品识别准确率96.3%资源点识别准确率94.7%界面元素识别按钮识别准确率99.1%菜单识别准确率98.4%使用指南与配置说明快速开始指南环境准备Windows 10或更高版本64位系统.NET 8运行时环境推荐1920×1080窗口化游戏模式基础配置// 配置文件示例Core/Config/ { capture_mode: GraphicsCapture, resolution: 1920x1080, auto_pick_enabled: true, auto_skip_enabled: true, pathing_enabled: false }功能启用自动拾取遇到可交互物品时自动按F键自动剧情快速点击过剧情、自动选择选项自动采集基于小地图识别的智能采集系统自动战斗智能角色切换和技能释放高级配置选项系统提供了丰富的配置选项用户可以根据需求进行调整配置项说明默认值建议值capture_interval截图间隔(ms)10050-200recognition_threshold识别阈值0.70.6-0.8pathing_speed移动速度1.00.8-1.2retry_count重试次数32-5debug_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(自定义任务执行完成); } }未来发展路线AI增强集成深度学习模型提升识别准确率多游戏支持扩展框架支持其他游戏自动化云端配置支持云端同步配置和脚本社区插件市场建立插件生态系统社区贡献指南项目欢迎社区贡献主要贡献方向包括新功能开发算法优化文档完善测试用例编写国际化支持通过上述技术实现和架构设计BetterGI 为《原神》玩家提供了一个强大、稳定且易于扩展的自动化解决方案。系统的模块化设计和清晰的代码结构使其成为学习游戏自动化技术的优秀参考项目。项目源码地址https://gitcode.com/gh_mirrors/be/better-genshin-impact【免费下载链接】better-genshin-impactBetterGI · 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 | 自动烹饪 - UI Automation Testing Tools For Genshin Impact项目地址: https://gitcode.com/gh_mirrors/be/better-genshin-impact创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章