摘要

战斗中点开一个生物,会弹出生物面板:兵种名、数量、生命、攻击、防御、伤害、速度、先攻、士气、幸运、主动能力列表,以及一行状态图标(这堆兵身上的增益和减益,图标角上有持续回合数等小字)。为了知道面板读取器到底读得怎样,需要逐字段的参考答案。

本实验(内部编号 B183)由一个并行助手完成:从两段训练录像里选出 115 帧原生截图,先盲看图、再对照读取器,逐字段写下参考值。这些参考是模型看图写的(模型目视核对,MODEL_VISUAL_CHECKED),不是用户审核(人工审核数量为 0)。报告原计划在读取器跑完后填写“读取器与目视是否一致”的结果,这一段在报告里还是空的,所以本文只记录标注部分。

要回答的问题

能否为战斗中生物面板建立一份逐字段的参考集,用来对照生产读取器?

数据与来源

  • 两段用户选定的训练录像:10 月 10 日 16:57 那段(开发集,很多规则在它上面定)和 10 月 10 日 01:39 那段(独立检验)。另一段 08:38 的录像没有时间线,本部分没有它的帧。
  • 采集审计时建立的时间线参考里标出了每一段“战斗生物面板 / 布阵生物面板”:16:57 共 26 段,01:39 共 65 段。

方法

选帧

  • 每段取时间线记录的第一个清楚帧。
  • 一段持续 ≥4 个 2 fps 帧时再取一帧:有第二个记录的清楚帧就用它;否则在不是淡入淡出、离第一帧 ≥1 秒的帧里,取面板区域与第一帧差别最大的一帧(通常是悬停说明出现或消失)。
  • 按(录像,原生帧号)去重。结果 115 帧:16:57 27 帧(26 段 + 1 段第二帧),01:39 88 帧(65 段 + 23 段第二帧)。

原生帧号换算

帧库是按 2 fps“取最近帧”生成的,标着 T 秒的帧库帧实际对应约 T + 0.23 秒的原生帧(测量:两处帧库帧与原生帧的平均像素差 3.8,而 T 秒本身是 11–13)。所以原生帧号按 T + 0.25 秒换算,用 ffmpeg 精确跳转取帧。115 帧都和帧库帧比过,平均差 3.3–4.5,没有错帧。

标注

  • 先看“盲看图”:标题和数值行放大 1.5 倍、状态行放大 1.5 倍、能力列表、整块面板,不显示读取器的值。记下每个字段后再和读取器对照。看图都是原生 2560×1440 裁剪。
  • 字段:兵种、所属方、数量、生命、攻击、防御、伤害、速度,加上读取器也输出的阶级、士气、幸运、先攻;主动能力列表;状态图标(槽位、对应的游戏安装图标名、效果名、角标原文、是否有悬停说明)。
  • 看不清就写 UNKNOWN 并写原因:数量 4 帧(面板正在淡入,右值看不清)、主动能力 3 帧(悬停说明挡住且列表能滚动)、状态行 1 帧(面板半透明)、图标角标 4 个(鼠标挡住)。
  • 状态图标名:在生产匹配器给出的前三候选里,对照游戏安装图标目视选定;17 个图标有游戏内悬停说明可以直接核对名字。“绝望”与另一个效果图案相近,按偏蓝紫的颜色定为绝望;“暗影缩减”有 ∞ 和 7 两种角标,图案相同,都记为暗影缩减。

设置

评分脚本已写好:每个字段分为对 / 错 / 未读(找到面板但该字段为空)/ 漏(没找到面板)/ 参考未知;所属方和主动能力读取器不输出,只标注不评分;状态图标分别评“有没有找到”“名字是否前一/前三”“角标是否读对”。

结果

项 16:57 01:39
选出的帧 27 88
字段条目(不含 UNKNOWN、不含状态行) 348 1,140
状态图标 28 个(11 帧有图标) 249 个(70 帧有图标)

同一段的两帧对照:数值全部一致,状态图标只差在被鼠标挡住的角标。

状态效果 16:57 01:39
曙光盔甲 10 54
暗影缩减 10 0
阿丽娜之触 4 0
绝望 3 0
深渊意志 1 0
复仇 0 58
天堂之刃 0 40
反击 0 33
内在光辉 0 22
蛛网 0 20
注能盔甲 0 9
暗影增幅 0 6
英勇长啸 0 3
赫克斯米拉狂乱 0 2
暗影披风 0 1
不屈石头 0 1

读取器与目视的逐字段对照:报告中尚未填写,没有数字。

失败与负结果

  • 第一次取帧失败:最初用 OpenCV 按帧号跳转,这些 OBS 录像跳到了别的帧——115 帧里 59 帧与帧库差 >6(最大 39.2),有一帧上根本没有面板。那批帧已删,日志和报告保留。建议其他用同样方式在这两段录像上取帧的工作也核对一下。

局限

  • 参考是模型目视核对,不是人工审核;即使后续对照结果出来,“一致”也只说明读取器与模型目视一致,不是准确率。
  • 16:57 段是开发集,规则多在它上面定,不能作为独立检验。
  • 状态效果的分布很不均匀(例如暗影缩减只在 16:57 出现)。

结论与下一步

已经建立了一份 115 帧、约 1,500 个字段和 277 个状态图标的生物面板目视参考,并修正了取帧方法。下一步是运行读取器、用写好的评分脚本对照,把结果补进报告。