MC Toolkit

指南 / 建筑与资源

你替换的护甲纹理,并不是你以为的那一张

护甲按材质分层、分文件存放,所以画错文件只会让你的材质包在游戏里看起来毫无变化。护腿单独读取 humanoid_leggings 中的文件,旧的 textures/models/armor 自 1.21.2 起已不再读取,基岩版另有布局。

护甲是材质包最常见的第一个项目,也是最常见的第一次翻车。你画好了一件胸甲,加载材质包,结果什么都没变——因为你编辑的文件并不是游戏读取该部件时所用的文件。

每种护甲材质都是独立的文件

并不存在单一的 armor.png。锁链、铜、铁、金、钻石、下界合金、皮革和海龟鳞甲各自拥有自己的文件(皮革还额外需要一个 leather_overlay 来处理染色),而每一层也都是独立的图像。一整套护甲不是一张纹理,而是一个小小的文件家族,按槽位和层级拆分。

实际后果就是:一个重新着色钻石护甲的材质包,对铁护甲毫无影响。如果你的目标是“让所有护甲都看起来像 X”,那你需要为每种材质各编辑一个文件,而不是总共只编辑一个文件。

层级拆分,以及它为何重要

玩家的护甲每种材质会读取两个文件:

文件覆盖内容
humanoid/<material>.png头盔、胸甲、靴子
humanoid_leggings/<material>.png仅护腿

护腿之所以有独立文件,是因为它使用的展开图身体与腿部区域和胸甲、靴子相同,只是绘制在它们下方一个略小的模型上。如果你画了 humanoid/ 却纳闷护腿为何毫无变化,那你就是用最痛苦的方式发现了这个拆分。幼年生物还会读取第三个文件,humanoid_baby/<material>.png。

鞘翅与纹饰陷阱

鞘翅在文件意义上并不属于护甲——它有自己的纹理,也不会继承护甲材质。一个给胸甲换皮的材质包,不会动鞘翅分毫。

纹饰更麻烦。纹饰图案和纹饰材质是各自独立的注册表,而纹饰在渲染时是作为调色板偏移的叠加层,覆盖在基础护甲纹理之上。你无法把纹饰画进护甲文件里;游戏是在运行时合成它的。在纹饰之下给护甲重新着色,改变的是基础层,而不是纹饰。

Java 与 Bedrock 在这里并不相同

Java 从 assets/minecraft/textures/entity/equipment/humanoid/<material>.png 和 .../humanoid_leggings/<material>.png 读取护甲,并由 assets/minecraft/equipment/<material>.json 指明某种材质使用哪些文件。许多教程里仍在提到的旧 textures/models/armor/ 文件夹,自 1.21.2 起就不再被读取了。Bedrock 使用自己的布局和命名方式,为其中一方构建的材质包无法在另一方加载。如果你要同时面向两者,那你就是在做两个材质包。

按真实尺寸来画

护甲纹理不是 16×16,而是 64×32,以展开模型的形式排布——头部、身体、手臂和腿都在同一张图里,各自占据固定区域。画一个 16×16 的方块再放大,只会得到模糊拉伸的结果,因为你把一个区域硬撑到了整张展开图上。

可靠的做法是直接从原版文件本身、按它的原生尺寸开始,在上面覆盖绘制。这样各区域才能对齐,alpha 通道才能保留,输出路径也才会与游戏所替换的路径一致。

Texture Maker 负责处理方形的方块与物品纹理;至于护甲,请用图像编辑器打开原版的 64×32 文件,并按该尺寸在其上绘制。

材质制作器 →

更多指南

查看全部 →