Repository navigation
[Bug] 前置助手卡在图像设置:Setup_Main_Silhouette 识别区域未覆盖“使用”按钮,超时后无法恢复 #571
Description
问题描述
“前置助手=强制启用”运行启动脚本时,进入游戏图像设置、完成滑动后,停在“技能过场动画 / 剪影模式”页面。用户反馈多次发生;本次保存了明确的失败日志与 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 相关调整,尚未在全新解压目录稳定复现;不声称全部本地文件与发布包完全一致。
复现路径(现场记录)
- 游戏简体中文,MuMu 游戏截图 1920×1080、280 DPI。
- “前置助手”选择“强制启用”,执行 [全局]启动脚本(置顶)。
- 自动进入主设置的图像页,
Setup_Main_Swip滑动。 - 界面停在截图所示的技能过场动画/剪影模式位置,“使用”在屏幕偏下。
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 没有把页面退出到明确可恢复状态。
预期与修复建议
- 用“剪影模式”标题/目标控件作锚点定位左侧“使用”,或在有边界的识别反馈下继续调整滚动位置;避免仅因画面有变化就假定固定 ROI 已覆盖目标。
- 如扩大 ROI,需限定剪影设置区域,避免把其他“使用”或右侧“不使用”误当成目标;保留原有启用剪影的行为。
- 识别失败后有界重试,仍失败应明确报出设置项与原因并停止该段或可靠退出设置页,避免回到无法匹配当前页的总入口持续等待。
- 回归覆盖不同滚动停点、已启用/未启用剪影两种状态,以及超时恢复路径。
“前置助手=按需”可减少每次强制走设置,但不是这个识别错误的修复。本次未修改脚本、未验证补丁。
截图与附件状态
本地已检查原始出错截图 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