[TODO] 动画系统:烘培全部出货 COF 模式与武器类(全保真) #143

Open
opened 2026-09-21 12:15:48 +00:00 by troytt · 0 comments
Owner

背景

动画系统首版(feat/animation-system)采用玩法关键子集烘培策略,以控制资源体积:

  • 玩家:NU, WL, RN, A1, A2, SC, GH, DT, DD, TN, TW
  • 怪物:NU, WL, RN, A1, A2, SC, GH, DT, DD(按 MonStats2.txt 的 m* 存在位过滤)

这覆盖了跑/走/物理攻击/施法/受击/死亡/尸体的 100%,但未覆盖以下 1.13c 实际出货的模式:

模式 含义 影响
TH 投掷 投掷武器(标枪/飞刀)动作缺失,回落到 A1
KK 踢击 Kick 技能(Skills.txt id=1)动作缺失
BL 格挡 盾牌格挡无视觉反馈
S1–S4 职业特殊技能 野蛮人吼叫、刺客爪技、德鲁伊变身等缺失
OP/ON object 开关 箱子/门的开启动画

以及武器类维度:首版仅接入常见武器类(见 #TBD 的 Q2 决策),未烘 1js/1jt/1ss/1st(野蛮人双持)与 ht1/ht2(刺客爪)。

已知代价

烘全部出货模式 × 全部武器类,entity pack 体积约为当前的 8–11×:

  • char-so.r8 906 KB → 约 10 MB
  • samples/d2-packs/entities/ 140 MB → 500 MB ~ 1 GB

首版已实施每帧紧包围盒 + 显式锚点优化(取代原先"每帧 padding 到全 16 方向 union box"),实际增幅应低于上述估算。落地本 issue 前应先用实测数字重估。

Ground Truth(实测,勿重复调研)

各职业 token 实际出货的 COF 数量与模式:

token COF 数 模式
so 法师 94 a1 a2 bl dd dt gh kk nu rn s1 sc th tn tw wl
am 亚马逊 96 同上 + 杂项 wk(1hs)
ne 死灵 94 同 so
pa 圣骑 91 bl 多 2hs/2ht;s1 仅 1hs/1ht/hth
ba 野蛮人 150 多 s2(1ht)、s3/s4(1js/1jt/1ss/1st)
dz 德鲁伊 93 —
ai 刺客 139 多 ht1/ht2 爪类、s2/s3(全)、s4(ht1/ht2)

全部玩家 COF 均为 16 方向。

验收

  • scripts/pack-entity-assets.ts 的 mode 列表可配置,默认烘全集
  • scripts/verify-packs.ts 校验每个 token 的 clip 集合与 MPQ 实际出货 COF 一致
  • 体积报告:新旧对比,并确认首屏加载时间无明显退化(按需分片加载可作为配套方案)
  • 运行时对 *.mpq / *.dll 请求数仍为 0
## 背景 动画系统首版(`feat/animation-system`)采用**玩法关键子集**烘培策略,以控制资源体积: - 玩家:`NU, WL, RN, A1, A2, SC, GH, DT, DD, TN, TW` - 怪物:`NU, WL, RN, A1, A2, SC, GH, DT, DD`(按 `MonStats2.txt` 的 `m*` 存在位过滤) 这覆盖了跑/走/物理攻击/施法/受击/死亡/尸体的 100%,但**未覆盖**以下 1.13c 实际出货的模式: | 模式 | 含义 | 影响 | |---|---|---| | `TH` | 投掷 | 投掷武器(标枪/飞刀)动作缺失,回落到 A1 | | `KK` | 踢击 | Kick 技能(Skills.txt id=1)动作缺失 | | `BL` | 格挡 | 盾牌格挡无视觉反馈 | | `S1`–`S4` | 职业特殊技能 | 野蛮人吼叫、刺客爪技、德鲁伊变身等缺失 | | `OP/ON` | object 开关 | 箱子/门的开启动画 | 以及**武器类维度**:首版仅接入常见武器类(见 #TBD 的 Q2 决策),未烘 `1js/1jt/1ss/1st`(野蛮人双持)与 `ht1/ht2`(刺客爪)。 ## 已知代价 烘全部出货模式 × 全部武器类,entity pack 体积约为当前的 **8–11×**: - `char-so.r8` 906 KB → 约 10 MB - `samples/d2-packs/entities/` 140 MB → **500 MB ~ 1 GB** 首版已实施**每帧紧包围盒 + 显式锚点**优化(取代原先"每帧 padding 到全 16 方向 union box"),实际增幅应低于上述估算。落地本 issue 前应先用实测数字重估。 ## Ground Truth(实测,勿重复调研) 各职业 token 实际出货的 COF 数量与模式: | token | COF 数 | 模式 | |---|---:|---| | `so` 法师 | 94 | `a1 a2 bl dd dt gh kk nu rn s1 sc th tn tw wl` | | `am` 亚马逊 | 96 | 同上 + 杂项 `wk(1hs)` | | `ne` 死灵 | 94 | 同 so | | `pa` 圣骑 | 91 | `bl` 多 2hs/2ht;`s1` 仅 1hs/1ht/hth | | `ba` 野蛮人 | **150** | 多 `s2(1ht)`、`s3/s4(1js/1jt/1ss/1st)` | | `dz` 德鲁伊 | 93 | — | | `ai` 刺客 | **139** | 多 `ht1/ht2` 爪类、`s2/s3(全)`、`s4(ht1/ht2)` | 全部玩家 COF 均为 **16 方向**。 ## 验收 - [ ] `scripts/pack-entity-assets.ts` 的 mode 列表可配置,默认烘全集 - [ ] `scripts/verify-packs.ts` 校验每个 token 的 clip 集合与 MPQ 实际出货 COF 一致 - [ ] 体积报告:新旧对比,并确认首屏加载时间无明显退化(按需分片加载可作为配套方案) - [ ] 运行时对 `*.mpq` / `*.dll` 请求数仍为 **0**
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: troytt/diablo2-web#143
No description provided.