Skip to content

[Bug] 前置助手卡在图像设置:Setup_Main_Silhouette 识别区域未覆盖“使用”按钮,超时后无法恢复 #571

Open

Description

@nlarb

问题描述

“前置助手=强制启用”运行启动脚本时,进入游戏图像设置、完成滑动后,停在“技能过场动画 / 剪影模式”页面。用户反馈多次发生;本次保存了明确的失败日志与 1280×720 出错截图。

直接失败点是 Setup_Main_Silhouette:它只在 [454,368,344,79] 搜索“使用”,而本次出错截图中的“剪影模式 → 使用”按钮文字在约 (625,572)。该 ROI 读到的是上一组设置的“仅观看新技能”,并没有覆盖目标按钮。滑动检测的“画面已变化”只证明发生了变化,不能证明目标到达预设识别区域。

这是资源设置流程的问题,与另一条设备连接报告 #570 分开:本次底层创建控制器日志已确认 adb_serial=127.0.0.1:16416、MuMu index=1,目标是 bd2。

平台与版本

  • Windows x64 / MuMu bd2 / ADB / EmulatorExtras。
  • 运行资源版本 v4.6.0;游戏截图右下角版本 v2.36.7,简体中文。
  • MFAAvalonia GUI 日志 v2.16.3-beta.1;本地 mfaa-build.json 标记 sunyink/MFAAvalonia mfabd2 分支,814a6bd8c57f2270e5751b42d4e829178dfaa239。
  • MaaFramework v5.14.3。
  • adb shell wm density 实查 Physical density: 280;MaaFramework 原始游戏截图日志 raw.cols=1920, raw.rows=1080;框架出错截图为 1280×720。DPI 与分辨率符合项目 README 的约 270/280、1920×1080 要求。
  • MuMu 返回的基础 wm size 为 1080×1920;横屏游戏实际采集为 1920×1080。平板/手机模式本次未独立核实,不把其与基础方向等同。
  • 安装目录沿用旧包名 v4.5.2-beta.2,但运行资源已更新。本机之前有 PC 相关调整,尚未在全新解压目录稳定复现;不声称全部本地文件与发布包完全一致。

复现路径(现场记录)

  1. 游戏简体中文,MuMu 游戏截图 1920×1080、280 DPI。
  2. “前置助手”选择“强制启用”,执行 [全局]启动脚本(置顶)。
  3. 自动进入主设置的图像页,Setup_Main_Swip 滑动。
  4. 界面停在截图所示的技能过场动画/剪影模式位置,“使用”在屏幕偏下。
  5. Setup_Main_Silhouette 持续无法识别;20 秒超时后回到 Setup_Str,仍停在设置界面反复失败。

关键日志

2026-10-21 本地日志时间:

09:12:24.062 Resolution changed [raw.cols=1920] [raw.rows=1080]
09:14:11.350 Setup.主设置修改开始
09:14:16.980 主设置菜单
09:14:31.548 [SmartAction:Setup_Main_Swip] 第1轮 画面已改变(diff=13.02 ≥ 2.0)→ next

09:14:52.859 Recognizer::recognize
{
  "algorithm": "OCR",
  "box": null,
  "detail": {
    "all": [
      {"box":[578,388,95,18],"score":0.999897,"text":"仅观看新技能"}
    ],
    "best": null,
    "filtered": []
  },
  "name": "Setup_Main_Silhouette",
  "reco_id": 400000349
}

09:14:52.860 Task timeout
  [pretask.name=Setup_Main_SkipAv_Ck]
  [duration_since(start_clock)=20086ms]
  [pretask.reco_timeout=20000ms]
09:14:52.881 save on error: 2026.10.21-09.14.52.861_Setup_Main_SkipAv_Ck.png

后续 Setup_Str 的候选 Setup_Main_Switch / Setup_Equip_Switch / Setup_SetSkill_Switch 均失败,约每 20 秒生成相同设置页的错误截图,包括 09:15:12、09:15:33、09:15:54、09:16:35、09:16:55、09:17:16。
09:17:34 出现 StopTask,09:17:35“已放弃本次任务”,09:17:55 重新启动。之后任务日志有继续推进,不能据此认定该段已自行恢复或缺陷已修复。

本地与上游源码核查

本地 resource/base/pipeline/Setup.json:

"Setup_Main_Silhouette": {
  "recognition": "OCR",
  "roi": [454, 368, 344, 79],
  "expected": ["使用"],
  "next": [
    "Setup_Main_Silhouette_Ck",
    "[JumpBack]Setup_Main_Silhouette_Chg"
  ]
}

提交前读取了上游 main 的 assets/resource/base/pipeline/Setup.json,返回 blob SHA 5acabb895e4688e75a47653c92a982162d575217,该节点仍使用上述 ROI;其 desc 也注明“小区域,更新位置需要跟进”。

Setup_Main_Swip 当前为从 [810,620] 到 [810,100] 的固定滑动,变化后直接继续。上游注释说明曾调整滑动步长以适配固定判定带,但本次截图依然显示按钮未落入判定带。

恢复方面:Setup_Str 只尝试几个设置入口;Setup_Main_Switch 依赖箱庭识别且 max_hit=1。现场已经停在设置页,无法靠这些入口重新进入。默认 on_error 的 Global_Null 没有把页面退出到明确可恢复状态。

预期与修复建议

  1. 用“剪影模式”标题/目标控件作锚点定位左侧“使用”,或在有边界的识别反馈下继续调整滚动位置;避免仅因画面有变化就假定固定 ROI 已覆盖目标。
  2. 如扩大 ROI,需限定剪影设置区域,避免把其他“使用”或右侧“不使用”误当成目标;保留原有启用剪影的行为。
  3. 识别失败后有界重试,仍失败应明确报出设置项与原因并停止该段或可靠退出设置页,避免回到无法匹配当前页的总入口持续等待。
  4. 回归覆盖不同滚动停点、已启用/未启用剪影两种状态,以及超时恢复路径。

“前置助手=按需”可减少每次强制走设置,但不是这个识别错误的修复。本次未修改脚本、未验证补丁。

截图与附件状态

本地已检查原始出错截图 2026.10.21-09.14.52.861_Setup_Main_SkipAv_Ck.png(1280×720),目标“使用”约 y=572,旧 ROI 的 y 范围只有 368–447。用户同时提供了 MFABD2 与游戏同屏截图。

当前提交只包含上述关键日志、坐标与源码说明,原始 PNG 和完整 debug 尚未上传。 当前 GitHub 连接器无附件上传接口,浏览器未登录;不虚构附件链接或勾选未完成的完整日志/截图声明。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions