僵尸的早期动作试验

首轮僵尸模型证明了带皮肤的躯体可以继续用于本地动画,但旧动作忽略了原版砍刀,也没有形成可信的拖步。后续十三组动画重建了持刀手、装备和关节控制。

后续采用的模型与动画见完整动画

**截至 2026-09-09:**兵种 mod 为 0.12.1 0.12.2,已安装十四种墓园兵种。本文数字保留各次交付版本的含义;最新进展见黑暗骑士与骨龙动画

工具在 h3-art-pipeline 维护;模型和完整 mod 留在本地。工具迁移与复现

历史记录

历史原文与修订记录(展开阅读)

以下完整保留本次整理前的原文、图片和删除线。这里的“当前”“尚未完成”和“下一步”均指各段写作或标注时的状态;旧版本号、旧工具路径与试稿不能作为现行操作说明。

0.12.0 时的状态说明,现用补丁版本见正文:

**截至 2026-09-09:**兵种 mod 为 0.12.0,已安装十四种墓园兵种。本文数字保留各次交付版本的含义;最新进展见黑暗骑士与骨龙动画

**截至 2026-09-09:**兵种 mod 为 0.11.1,已安装十种墓园兵种。本文涉及的安装数字按各次交付版本注明;最近一次扩展见吸血鬼与蝙蝠形态

2026-09-09 工具迁移: 后续代码在 h3-art-pipeline 维护,原 tools/creature-art/tools/town-art/ 对应新仓库的 creature-art/town-art/。本文的旧路径和 PR 链接保留作历史记录。迁移与复现说明

2026-09-09 更新: 本文的图片、姿势和测量保留为当时试稿,不能视为当前游戏版本。后续替换见完整动画,当前八兵种安装状态见尸巫交付

骷髅之后跑僵尸。选它是因为它是实心躯体——想验证一个判断:骷髅整个身体由分离的细长 骨头构成,正是单图重建最容易糊掉的结构,所以它可能是这条管线最不友好的第一个目标。

判断成立。僵尸的重建有完整可辨的躯干、四肢、头部,没有骷髅那种"光滑管子"问题。

然后验证器给了 0 错误 0 警告,而两个东西是错的。

模型本身

僵尸模型的四个角度
Meshy 建出的模型,0/90/180/270 四个角度。25890 顶点 / 37280 三角面。

质量比我预期的好:肋骨在皮下的起伏、锁骨、肩胛骨、髌骨、脚趾分节、腰布的褶皱和破边。 背面也是完整的,虽然概念图只给了正面和侧面两张。

和骷髅对照就很清楚了——同样是 Meshy、同样的参数,实心躯体重建得很好,而骷髅那些分离的 细骨被融成了光滑管子。差别不在工具,在被重建的东西。

但有两个问题。

颜色丢了大半。 概念图里有灰绿皮肤和褐色腰布,模型上只剩腰布还带点褐色,身体基本是 均匀灰白。这解释了为什么渲出来的精灵图偏苍白,而原版僵尸是灰蓝皮肤配深褐裤子和红色伤口。

它更像个瘦削的活人,不像僵尸。 没有腐坏感、没有伤口、破布也不够层次。

这个是我自己造成的。前面一篇提过,FLUX 的 内容审核把 “rotting flesh”、“dried blood” 判成了 Violence,我改成 “desiccated”、 “skin drawn tight” 才过。当时只当是措辞问题——结果拿到一具干瘦但完好的身体, 把这个兵种的核心特征绕没了。

绕过审核是有代价的,而代价不在被拒的那一步显现,在两步之后的模型上。

在不触发审核的前提下可以补回来:sunken hollow cheeksexposed ribcagetorn hanging ragsmottled discolored skin。这些描述形态和颜色,不描述暴力。

错误一:帧数继承自骷髅

僵尸的死亡动画原版是 9 帧,我渲了 6 帧。走路原版 10 帧,我渲了 8 帧。十三组里十二组 对不上——因为 poses.py 里写死的是骷髅的帧数。

引擎允许帧数不同(JSON 是整组替换),所以技术上没坏,验证器也就没意见。但这是我没有 选择的偏离:僵尸的死亡凭空少了三帧,只因为骷髅是六帧。

根因是我的检查只验证「替换件和自己一致」——1x 和 2x 的帧数必须相同。它从没和要替换的 原版比过,而原版就在硬盘上。

现在验证器接受 --lod,逐组比对帧数、报告原版有而替换件缺的组。两个方向都验过:对齐后 的僵尸 0 警告,继承骷髅帧数的旧版 13 条警告。

错误二:僵尸在大步跑

僵尸走路:修正后与原版
上排是给僵尸单独调过的走路,下排原版。

BASE 和十三个动画组都是照骷髅战士写的,±28° 的大腿摆幅。僵尸直接继承,于是它迈着 军人正步。腿部横向位移 335 像素,原版是 53。

动作就是性格。 骷髅大步走,僵尸拖着脚挪,巫妖腰以下几乎不动。这不可能共用一套关键帧。

改法是每个兵种可以提供两样东西,都可选:

base       合并到 BASE 上的覆盖 —— 它的站姿
amplitude  每组的动作幅度倍率,1.0 是原始值

没列的自动回退到共享值,所以加一个兵种是几行,不是十三组关键帧。僵尸配的是驼背垂臂、 不持武器的站姿,走路 0.35、攻击 0.65、待机摇摆 1.3。

2026-09-09 更新:这是已弃用的动作配置。原版行尸持砍刀,当前版本保留独立握持,并逐组编排十三组动作,不再靠缩放骷髅动作完成。见行尸动画

步幅 335 → 59,原版 53。

两个错误的共同点

都不报错,而且都是"继承了不该继承的东西"——帧数继承自骷髅,动作也继承自骷髅。

我写这套工具时的默认假设是"所有人形兵种可以共用一套动画",这个假设从来没被写下来过, 也就没被检查过。它在骷髅上成立(因为动画本来就是照它写的),在第二个兵种上就塌了。

验证器现在能抓住第一个。第二个抓不住——“这个走路姿势像不像僵尸"目前没有任何自动化 手段能判断,和上一篇里"膝盖朝哪边弯"是同一类问题。

代码在 PR #10