披风纹理有 2,048 个像素,而披风本身只用到其中 372 个
文件是 64×32,披风只占左上角 22×17 的一块,鞘翅在它旁边的区域,而人们真正看到的那一面只有 160 个像素——不到整张图的 8%。外加那个坑了所有人的一像素偏移,披风朝外的那一面只有 160 像素,其余像素没有被游戏读取。
Minecraft 的披风纹理是一张 64 × 32 的 PNG——共 2,048 个像素。披风只用到其中 372 个,鞘翅又从旁边那块区域读取了 520 个,文件其余部分则被完全忽略。而玩家真正会看到的部分还要更小。
六个区域
| 区域 | 位置 | 尺寸 | 像素数 |
|---|---|---|---|
| 外侧 | (1, 1) | 10 × 16 | 160 |
| 内侧 | (12, 1) | 10 × 16 | 160 |
| 顶部 | (1, 0) | 10 × 1 | 10 |
| 底部 | (11, 0) | 10 × 1 | 10 |
| 左侧 | (0, 1) | 1 × 16 | 16 |
| 右侧 | (11, 1) | 1 × 16 | 16 |
| 合计 | 372 |
这只占整个文件的 18.2%。而外侧那一面——也就是你走动时唯一会被别人看到的那一面——只有 160 个像素,占你正在编辑的这张图的 7.8%。
整个披风都塞在左上角一个 22 × 17 的方框里。即便在这个方框内,也只有两个像素是闲置的:(0, 0) 和 (21, 0),也就是顶行中顶部条带和底部条带都够不到的两个角。
披风和鞘翅区域之外,文件全是死区
鞘翅占用的是从 (22, 0) 开始的 24 × 22 区域,紧挨着披风。剩下的 1,156 个像素既不是第二张披风,也不是遮罩或预留区域。它们什么都不是。你可以让它们保持透明、填上你的签名,甚至贴一张照片进去——游戏只会为披风读取六个矩形、为鞘翅再读取六个矩形,其余部分一概无视。
知道这一点主要价值在于:它把问题缩小了。“设计一张披风”听起来像是在设计一张 64 × 32 的图。实际上你设计的是一个 10 × 16 的矩形,画两遍——正面和背面——再加一圈四像素宽的镶边。
那个坑了所有人的一像素偏移
看看 top 和 bottom 的位置:
- 顶部横跨 x 1–10,正好在外侧面之上
- 底部横跨 x 11–20
外侧面是 x 1–10,内侧面是 x 12–21。所以顶部条带与外侧面是对齐的,而底部条带与两者都不对齐——它比内侧面往左偏了一列。
这一列之差,就是手绘披风最常见的翻车原因。如果你选中内侧面的列范围、然后在它上方涂条带,底部边缘就会偏出一个像素,在游戏里表现为下摆处一条颜色不对的细线。而在编辑器里它完全看不出来,因为那条带子只有一像素高。
比例并不是折叠后的纹理看起来那样
可见的披风宽 10、高 16——高是宽的 1.6 倍。而在纹理里平铺展开时,外侧和内侧两面并排摆放,于是这一对看起来像是一个 20 × 16 的横向区块,很容易不知不觉就按那个形状去设计。
任何横跨两面的居中图案,都会被折痕从中间劈开。图案必须画在单个 10 × 16 的半幅之内,或者有意地在两半之间做镜像。
同一个文件也是你的鞘翅
一张纹理同时供两者使用:本页的预览既可以用它显示披风,也可以用它显示鞘翅,因为游戏就是这么用的——除非你的账号提供了单独的鞘翅纹理,那样的话后者优先。所以披风设计从来都不只是披风设计。
不过两者读取的并不是同一批像素。披风挂在 (1, 1) 处的 10 × 16 面板上;鞘翅读取的是自己位于 (22, 0) 的 24 × 22 区域,并镜像到两侧翅膀上。只在披风面板上作画,鞘翅就会是一片空白。定稿之前请把两个预览都检查一遍;文件是共用的,区域不是。