ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

明日方舟一键长草指南:MaaAssistantArknights 图像识别自动化如何从零跑起来

明日方舟一键长草指南:MaaAssistantArknights 图像识别自动化如何从零跑起来 明日方舟一键长草指南MaaAssistantArknights 图像识别自动化如何从零跑起来【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknightsMaaAssistantArknightsMAA是一款明日方舟自动化工具用图像识别替代内存注入把战斗、招募、材料、基建这些长草期日常压缩成一次点击。核心是 C20 写的 MaaCore 引擎配一套 JSON 资源描述界面行为。下面讲清楚它怎么从源码跑起来以及内部各模块如何分工。为什么日常值得自动化长草期的真实痛点《明日方舟》的每日循环很固定扫荡指定关卡若干次、刷招募刷新、领信用点和奖励。手动做每次十几分钟且流程高度重复。MAA 的定位就是接管这部分你勾选要跑的任务它接管模拟器窗口完成全部点击结束后退出模拟器。界面本身也印证了这一点——左侧任务清单Login / Base / Credit Store / Recruit / Combat / Collect Rewards对应每日循环右侧日志窗口实时输出Start task: RecruitComplete combat这类状态卡住了能直接看到卡在哪一步。日常任务Farming页签勾选任务、设定消耗参数后点 Link Start右侧日志同步显示执行进度核心原理截图—识别—决策—执行的循环理解 MAA 只需要一个心智模型它每回合都对屏幕做一次拍照→判断→动手。控制层src/MaaCore/Controller/负责和屏幕打交道Windows 抓窗口画面安卓模拟器走 ADB 截图触控用 Minitouch 或 maatouch 注入坐标视觉层src/MaaCore/Vision/拿着截图做识别Matcher做模板匹配找按钮OCRer/RegionOCRer调 ONNX 模型读数字文本比如剩余次数FeatureMatcher处理特征点级匹配任务层src/MaaCore/Task/按resource/tasks/里的 JSON 配置驱动流程每个任务是一段识别条件 动作序列识别命中就执行动作点击坐标、OCR 取值、跳转下一任务没命中就重试或走错误分支。所以它懂游戏的并不是模型而是resource/目录下的资源模板图片resource/template/、关卡数据resource/stages.json、OCR 配置resource/ocr_config.json。游戏更新后需要适配的主要是这些资源而非核心代码。识别原理直观演示只要 Start 按钮模板出现在画面里颜色皮肤不同也能定位快速上手MAA 环境依赖与编译构建步骤普通用户建议直接下载发行版文档见 docs/zh-cn/manual/install.md想跑源码或改行为按下面步骤装工具链CMake ≥ 3.28CMakeLists.txt中写死C20 编译器MSVC / Clang / GCC 均可拉取仓库git clone https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights配置构建仓库根目录带 CMakePresets.jsoncmake --preset 预设名选工具链Windows 上可用 Visual Studio 预设macOS 走 Xcode 预设cmake/macos.cmake负责 Apple 平台细节构建cmake --build build目录 --config Release核心库 MaaCore 是必建项WPF 界面src/MaaWpfGui通过-DBUILD_WPF_GUION追加仅 Windows 默认开启准备资源运行需要resource/目录任务流程、模板、ONNX 模型都在里面发行版已内置源码构建可用 tools/ResourceUpdater 拉取资源。命令行玩法maa-cli的使用说明在 docs/zh-cn/manual/cli/usage.md无界面环境下更适合脚本调用。关键模块拆解三个核心目录怎么分工Vision识别结果从哪里来一句话职责把一张截图变成结构化结果命中了什么、在哪、数字是几。关键文件在src/MaaCore/Vision/Matcher.cpp模板匹配、OCRer.cpp文字识别、MaskedCcoeffMatcher带遮罩的匹配容忍按钮上有浮层。这样设计的原因是把怎么认和认出来干什么彻底分开——同一个 Matcher 既能给任务层用也能给工具箱里的仓库识别Depot、角色识别Operator这类独立功能复用。Task流程状态机在哪一句话职责把今天先打 AP-5 三次再刷招募翻译成可执行、可重试的步骤序列。核心类ProcessTasksrc/MaaCore/Task/ProcessTask.h内部维护节点状态Success / RetryFailed / Runout / Interrupted每个节点的识别条件失败会走on_error_next指定的兜底分支AbstractTaskPlugin则是插件扩展点新游戏行为可以做成插件挂进流程不用改主引擎。Controller跨平台的手和眼一句话职责提供统一的截图 点按接口底下按平台换实现。Win32Controller抓窗口、AdbController连安卓设备、MumuController/PlayToolsController分别对接 MuMu 和 Play 模拟器的私有通道MaaFwAndroidNativeController走 Android Native 触控。上层任务代码只调用Controller.h里的抽象接口换平台不用改一行任务逻辑。工具箱的 Depot 识别同一套 Vision 组件被独立功能复用识别结果可导出到 Arkplanner 等外部工具技术路线取舍图像识别 vs 内存读取 vs 脚本注入vs 内存读取读内存方案速度快、结果精确但必须 hook 游戏进程等于在反作弊眼里裸奔且游戏一改版内存结构就可能失效。MAA 走纯外部观察路线不碰游戏进程代价是识别依赖截图质量——窗口被遮挡、分辨率异常都会直接导致识别失败。vs 脚本/按键注入按键精灵类工具是盲打固定坐标盲点界面一变就崩。MAA 每步先识别再动作且有重试与错误分支鲁棒性更高代价是每回合一次完整识别CPU/内存占用比宏工具高。vs 用 Python 等脚本语言写核心核心循环是截图→推理→点击ONNX 推理和 OpenCV 处理都在毫秒级敏感路径上C20 能把这部分开销压到最低多线程下截图、识别、执行可以流水线化。绑定层Python 等只负责 API 封装不承担性能路径。集成与扩展API、语言绑定和插件机制适用场景C APIinclude/AsstCaller.h所有绑定的基座适合写自己客户端或嵌入现有服务的场景通过AsstCaller.h拿到实例句柄、配置回调、控制任务生命周期Python 绑定src/Python/最轻量的集成方式src/Python/sample.py 是一个完整可跑的例子——加载资源、指定模拟器、设置触控方式、启动任务适合做定时任务和二次开发脚本Java / Rust / Golang / Dart 绑定src/下对应目录Rust 和 Golang 版本还自带 HTTP 服务模块适合把 MAA 当后端服务挂进 CI 或远程调度配置驱动的扩展不改代码加行为主要靠新增任务 JSON 和模板资源resource/global/下按服务器YoStarEN/JP/KR、txwy维护增量资源支持外服适配任务插件AbstractTaskPlugin机制允许把新识别器/新任务挂进引擎协议细节见 docs/zh-cn/protocol/。局限与注意事项合规、性能与更新适配合规性图像识别本身是非侵入式技术不修改游戏文件但自动操作游戏的行为是否被允许取决于游戏服务条款账号风险无法从技术上归零建议低频使用、不用于多开性能OCR 走 ONNX 推理默认吃 CPU任务量大时可配置 GPU 设备GeneralConfig里有 GpuDeviceSelector 相关逻辑适配成本游戏大版本更新后模板和任务 JSON 需要跟着改这部分由社区资源更新解决不是代码问题但更新窗口期功能会不稳定连接依赖安卓方案强依赖 ADB模拟器版本、ADB 路径不对时日志会停在Connecting排查方法见 docs/zh-cn/manual/connection.md。下一步建议先读一遍 docs/zh-cn/manual/install.md 选定安装方式跑通 GUI想动手改的话从resource/tasks/里挑一个最简单的任务 JSON 对照src/MaaCore/Task/ProcessTask.h看字段含义再照 src/Python/sample.py 写一个自己的启动脚本是理解整套流程最快的路径。【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表