野外守卫不能只替换一张静帧,否则会在循环时闪回原版。这里把兵种动画的完整待机循环逐帧映射到探险地图对象,并保留地图对象自己的阴影和前景遮罩。

骷髅与僵尸

骷髅兵、骷髅勇士、僵尸与僵尸领主首先完成了循环接入。画面展示的是静态对照,游戏中播放的是完整帧序列。

骷髅守卫

僵尸守卫

墓园野外守卫

随后扩展到尸巫、吸血鬼、幽灵、死神等墓园兵种的普通与升级形态。通用注册工具按目标对象的帧数安排循环,不复制或改变对象 JSON 的交互定义。

墓园野外守卫

这一步只覆盖墓园阵营的野外守卫;其他城镇兵种会在各自美术批次中处理。资源在本地私有 mod 中启用,未改 VCMI 源码。

流程修正

野外守卫可以把生成静帧或 2D 循环逐帧映射到目标资源。 即使原始资源看上去只有一个可见姿态,野外守卫也是动态生物。现在主体动画只来自带骨骼的 Blender 3D 场景和渲染帧序列。原始画布、前景遮罩和对象元数据仍保留;Blender 渲染的阴影序列与主体一起替换对应层。

绿龙:首个非墓园野外守卫

绿龙是首个按修正流程完成的非墓园守卫。以原图引导的 Meshy bootstrap 提供可编辑几何体,随后由 Blender 制作骨骼待机循环、30 张主体帧和 30 张对应阴影帧。适配工具将渲染结果分别放入原版的 2×、3×、4×画布,不改对象定义。原版紧凑的侧向盘踞轮廓得以保留,高清模型补足了鳞片、腹甲和翼膜的可读性。

原版与 Blender 绿龙循环抽帧对照

本文继续作为野外守卫这一大类的记录:其他城镇生物只有在完整 Blender 动画完成后才会加入。资源启用于本地私有 mod;公开的只有可复用工具代码,VCMI 源码没有修改。

金龙:独立模型,对齐升级形态轮廓

金龙不是绿龙的调色版。原作朝左、单侧主翼的构图需要单独的原图引导 Meshy 模型,再由 Blender 骨骼调整为紧凑的半蹲守卫姿态。它在每个高清倍率都有独立的 30 帧主体与阴影循环;最终 4× 主体顶部与原版边界相差 4 像素,并保留原始画布和交互层。

原版与 Blender 金龙循环抽帧对照

火鸟:一次被拒绝的网格与修复后的飞行循环

第一版火鸟 Meshy bootstrap 已可绑定。 八向审查发现其尾羽和翼羽变成脱离主体的碎片,无法可靠变形,因此在安装前已弃用。第二版更紧凑的概念生成了连续的身体、翅膀和尾部几何体。Blender 制作了 28 帧克制的翼部张力循环与对应阴影,并放入原始画布;高而紧凑的侧向轮廓保住了原版火鸟在地图上的可读性,也避免原版循环中单帧过大的横向展开。

原版与 Blender 火鸟循环抽帧对照

牛头怪:29 帧持斧人形循环

牛头怪现已通过独立 Meshy 网格和 Blender 保守人形自动骨架接入。29 张渲染主体帧在重心、头部和克制的手臂张力循环中保持斧头与持握手连接,并配有 29 张真实 3D 阴影。统一 1.04 倍垂直投影校正恢复牛角高度;4×首帧顶部、左侧和底部与原版一致,右侧相差 1 像素。

原版与 Blender 牛头怪循环抽帧对照

食人魔:Mesh bootstrap 暂不可用

食人魔概念图可以直接进入已验证的持械人形 Meshy 到 Blender 流程。 Meshy 在创建网格之前以 HTTP 402 拒绝了提交,后续重试仍返回同一 402。没有安装任何替代精灵、静态循环或伪动画;这是外部生成额度/计费失败,不是美术质量拒绝。

大鹏鸟:30 帧折翼守卫

大鹏鸟现已通过独立 Meshy 网格、Blender 保守飞行生物骨架、30 张主体帧和 30 张真实 3D 阴影接入。首轮相机裁切了延伸的翼尾轮廓,因此先扩大正交视野;之后统一使用 1.4 倍垂直投影校正,恢复原版高耸的地图包络。4×首帧顶部、左侧和底部与原版一致,右侧相差 1 像素。

原版与 Blender 大鹏鸟循环抽帧对照

狮鹫:28 帧折羽循环

狮鹫现已通过独立 Meshy 网格和 Blender 保守自动飞行生物骨架接入。导入羽毛构造包含大量组件,但完整姿态审查未发现在 28 帧克制的躯干、头部、尾部和翼部张力循环中出现可见破损,并配有 28 张真实 3D 阴影。统一垂直投影校正恢复原版高折翼包络:4×首帧左右与底部边界一致,顶部相差 3 像素。

原版与 Blender 狮鹫循环抽帧对照

独角兽:30 帧地面动物循环

独角兽现已通过独立 Meshy 网格、Blender 自动四足权重和克制的 30 帧呼吸、颈部、尾部循环接入,并带有 30 张真实 3D 阴影。导入审计虽暴露出分离的构造组件,但完整姿态审查未发现动画中的可见裂缝,因此以实际渲染连续性而非单纯组件数作为接入依据。统一横向投影校正恢复原版四足的宽占地。4×首帧左右与底部边界和原版一致,顶部仅相差 1 像素。

原版与 Blender 独角兽循环抽帧对照

石像鬼:程序化兜底方案被拒绝

碎片化的 Meshy 石像鬼可以用简单的程序化方块骨架修复。 Blender 手工模块在刚性控制器下确实保持完整,但结果更像机械方块机器人,而不是原版风化石质守卫,因此在安装前被拒绝。这验证了受控兜底在技术上可行,但视觉忠实度仍是接入标准。

蜥蜴怪:bootstrap 被拒绝

第一版蜥蜴怪 Meshy 网格已可进入低伏四足骨架。 拓扑审查发现数百个脱离组件,侧身检查也显示标准地面龙相机无法可靠取景其躯干宽度。它没有进入动画或接入。重试将从强调连续拓扑的概念稿和专用贴地四足相机/骨架开始。

强调连续拓扑的蜥蜴怪重试生成了可用的单一连通网格。 第二版简化概念减少了碎片,但没有解决问题:审计仍发现 226 个组件,其中 220 个是小组件。它仍未进入动画或接入。

黑龙:30 帧折翼循环

黑龙现已通过独立 Meshy 网格和 Blender 连续自动权重飞龙骨架接入。30 张主体帧和 30 张真实 3D 阴影帧在循环中保留紫黑折翼、浅色尖角和低伏长尾。首轮侧身渲染比原版轮廓窄,因此每一张 Blender 渲染帧都采用相同的横向投影校正后再匹配画布。4×首帧主体左右边界与原版完全一致,垂直方向仅相差 1 像素。

原版与 Blender 黑龙循环抽帧对照

红龙:修复后的 29 帧折翼循环

第一套语义翼部权重适用于红龙。 它在翼根处开裂,因此改用连续自动权重的飞龙骨架。接入版包含 29 张 Blender 主体帧和 29 张对应的 3D 阴影帧。地图相机保留原版突出的单侧折翼,循环只使用克制的呼吸、颈部、尾部与翼部张力动作。4×首帧与原版垂直范围一致,水平两侧各内收约 10 像素;这保住点击和遮挡空间,也不会裁切翼面。

原版与 Blender 红龙循环抽帧对照

红龙:绑定方案被拒绝

第一版红龙折翼骨架已可进入 29 帧地图循环。 Blender 审查发现折翼姿态下翼根与躯干出现权重裂缝。导入网格本身仍连续,但这套语义翼部权重不适合它。它未被接入;下一轮会改用连续自动权重的飞龙骨架。

混沌龙:专用地面龙骨架

混沌龙现已接入独立 Meshy 网格与 Blender 地面龙骨架。第一轮三分之四地图相机压缩了横向宽度,因此改用侧身相机并加宽真实网格,恢复原版轮廓。29 张主体帧和 29 张真实 3D 阴影帧采用连续自动权重,待机只做克制的呼吸、颈部和尾部循环。4×首帧主体边界与原版画布范围 (79, 51)–(245, 256) 完全一致。

原版与 Blender 混沌龙循环抽帧对照

蔚蓝龙:修复后的地面龙循环

第一版蔚蓝龙使用飞龙骨架。 其语义前肢权重在循环中开裂,因此被拒绝。接入版采用已在混沌龙验证过的专用连续自动权重地面龙骨架。37 张 Blender 主体帧和 37 张真实 3D 阴影帧保留紧凑的呼吸、颈部与尾部循环,不再拉裂。统一垂直投影校正使 4×首帧顶部和底部与原版画布一致,右边界仅相差 1 像素。

原版与 Blender 蔚蓝龙循环抽帧对照

蔚蓝龙:在绑定验证阶段被拒绝

第一版蔚蓝龙 Meshy bootstrap 在完成 37 帧 Blender 渲染后已可接入。 地图画布对照显示第一轮合成过窄、过暗;加宽和提亮后的第二轮修正了比例,但动画审查发现前肢权重在循环中不稳定,会拉裂轮廓。因此它仍未接入。下一轮将使用专为无翼、低伏四肢体态制作的骨架,而不复用飞龙骨架。

仙女龙:紧凑的 33 帧循环

仙女龙使用独立的原图引导 Meshy 网格与 Blender 骨骼。第一轮 Blender 合成相对原版卷尾轮廓过高过窄,因此在接入前重新以紧凑比例渲染。最终 33 张主体帧和 33 张对应阴影帧保留原始画布;在 4×下主体左右边界均与原版相差 4 像素以内。

原版与 Blender 仙女龙循环抽帧对照