摘要

屏幕底栏左侧有 5 个单位能力槽(快捷键 1–5),显示当前单位能做什么:槽 1 是“攻击方式”按钮(只在单位有备用攻击时出现,按下后外圈发光),之后是各种特技。以后让 AI 自己玩、或在 Battle Notes(本项目的战斗记录 App)里显示“当前单位能做什么”,都需要知道每个槽是哪个能力。

本实验在没有标签的情况下探索:能否把槽里的图标认成游戏安装资源里的 126 个单位能力图标之一?难点是 87% 的槽是“变暗”画法(打开面板或日志时,图标变成深色剪影)。结论:颜色模板对剪影失效,灰度梯度轮廓模板对亮/暗都能排对;再加“备用攻击在前、能力在后、槽数等于该兵种图标数”的整排约束,能解出整排属于哪个兵种。顺带发现底栏显示的其实是“行动顺序里第一个我方单位”。

要回答的问题

  1. 能否把底栏能力槽的图标认成安装能力图标,包括亮着和变暗(剪影)两种画法?
  2. 底栏显示的到底是谁的能力?

数据与来源

  • 前一轮抽出的生物面板/日志画面帧(底栏在后面可见),只取训练池录像:35 段录像,每段随机 12 张(种子 172)。330 帧有非空能力槽,共 602 个槽(L1 330、L2 202、L3 67、L4 3)。画法:变暗 524、亮 77、未知 1。
  • 参考图:项目游戏知识库公开的 126 个单位能力图标(带兵种、种类、序号)。
  • 交叉核对:训练截图包中的 197 张战斗画面(69 包),用行动条第一张卡作为“正在行动的单位”。
  • 测试池、冻结来源一律不用;没有标签,所以下面都不是准确率。同一录像里相邻帧的底栏常常相同,不是独立样本。

方法

逐槽匹配。 槽位置来自已有的底栏检测(原生 2560×1440 版面),只看非空槽。

  • 颜色法:图标内圆(半径 0.86)掩膜,平方差匹配(TM_SQDIFF),直径 72–76、平移 ±4 像素,先用 16×16 缩略图筛 10 个候选。
  • 轮廓法:计算灰度梯度幅值(即图像边缘强度),用掩膜归一化相关(TM_CCORR_NORMED)与全部 126 个图标比较。

整排解码。 发现槽的顺序规律:每个备用攻击(按安装序号)各占一个槽,然后是各个能力(按序号)。于是把一帧的 n 个非空槽当作一个兵种的图标序列,对槽数相同的所有兵种按“各槽分数平均”排名;图标序列完全相同的兵种(例如本体与升级版)算一组。

交叉核对。 两个独立读取器互相印证:底栏整排解码出的兵种,与行动条卡片身份及卡片阵营色比较。

设置

对照拼图(槽截图与最佳图标并排)由助手目视检查,记为模型目视核对,不是用户审核。不改生产合同、不用 GPU、不打开测试池。

结果

逐槽匹配:

  • 颜色法:亮着的槽能认对,但所有变暗剪影都被同一个绿色图标“吸走”,不可用。正确匹配的直径都在 72–74 像素,之后固定为 72、74、76。
  • 轮廓法:亮的和暗的都能排对,分数中位 0.79;但剪影对比度低,正确匹配也常只有 0.60–0.70,单看分数无法取舍。
  • 多槽帧中,所有槽分数都 ≥0.75 的 86 帧,各槽最佳图标全部属于同一兵种;最低分 <0.65 的 69 帧中只有 31 帧一致。

整排解码:

  • 所有槽都 ≥0.75 的 137 帧全部符合“备用攻击在前、能力在后”的顺序,槽数也与该兵种图标数相等;解码结果与逐槽最佳 137/137 相同,与第二名的差距最小 0.055。
  • 其余 193 帧:147 帧与逐槽最佳相同,46 帧被整排约束改掉;差距 <0.03 的 35 帧算不确定。改掉的 46 帧中目视了 24 帧,麒麟、德鲁伊、仲裁者、恩特等的剪影都与解出的图标吻合;最难的是单槽剪影。
  • 共出现 50 个兵种组,最多的是狮鹫 35、审判官 25、巨颚 19、仙女龙 18、凤凰 14。

与行动条交叉核对(197 帧):

底栏画法 一致 不一致 槽数与该单位不同 该单位没有能力
全亮/部分亮 47 0 0 0
全暗 55 24 57 14

底栏变暗时不一致的 24 帧里,解码出的兵种 14 帧是行动条第 2 张、5 帧是第 3 张、3 帧更靠后,只有 2 帧不在行动条上。用卡片阵营色再核对:底栏显示的是行动顺序里第一个我方单位,197 帧中 191 帧符合——我方单位行动且底栏亮 47/47;对方行动时底栏变暗、显示我方下一个单位 92/98;我方单位行动但底栏变暗 52/52 仍是该单位(多半是面板、日志压在上面,或回合交接动画)。

私有生产读取器(未接入路由): 同样的轮廓匹配与整排解码,加上亮暗、槽 1 外圈发光和冷却数字原文。在 249 帧训练帧上(37 帧底栏无能力),能确定我方颜色的 192 帧中,解码兵种组 192/192 包含行动顺序里第一个我方单位;与实验版逐帧比 192/196 相同;另 15 帧因没有头像匹配无法确定我方颜色。只在行动条出现过的兵种中找时,每帧中位 0.022 秒、p95 0.031 秒;找全部兵种 0.039/0.046 秒;图标加载 0.5 秒。

失败与负结果

  • 颜色模板对变暗剪影完全失效。
  • 剪影的正确匹配分数可以低到 0.60–0.70,单靠阈值区分不了对错。
  • 两个龙兵种缺安装图标,解不了,不猜。

局限

  • 没有真标签,全部数字是两个独立读取器的一致性或模型目视核对,不是准确率;样本不独立。
  • 只识别身份;发光、变暗、冷却数字等状态还没有可核对的标注。
  • 没有在测试池新录像上评估,也没有决定放进截图路由的哪一项。

结论与下一步

当前单位的能力槽身份可以不用模型、只靠像素读出,并顺带给出当前单位候选,可与行动条互相核对。底栏亮着表示轮到我方、能力属于当前单位;变暗表示不能操作、能力属于我方下一个单位。进生产前需要真标签(预标注加审核页,或由头像身份推出期望序列)、测试池上的成绩,以及路由合同评审。