贴图是 Mindustry 不可缺少的一环,没了它每一个东西就都显示成 “oh no”了。
Mindustry的贴图风格很简单、但同时也充满限制,从其他地方胡乱搬来贴图会很违和。
你可以 在此查看全部的原版贴图
切记,未经允许盗用他人贴图极其破坏圈子氛围,当然灵感来源和引用其他模组的贴图是可以的
“开源的东西,我想干嘛就干嘛”这种借口不可认可和接受,小心吃黑名单
强烈建议用支持透明度和导出PNG格式的画图软件。推荐下面这些:
最小的方块是 32px × 32px
,这是一个 1×1 的方块。增大方块尺寸就得增加贴图尺寸,边长每增加一,贴图变长就需要增加 32px,所以 2×2 的方块就是 64 × 64
,凡是方块都得遵守这个规定。
1×1
: 32px × 32px
2×2
: 64px × 64px
3×3
: 96px × 96px
4×4
: 128px × 128px
5×5
: 160px × 160px
但是,这些并没有限制你,贴图尺寸不对,游戏也会照常加载他们。然后,你就能看到一个特立独行的贴图,或者直接演变成灾难
对于这些内容,最小尺寸是32px
,可以再大一些,游戏会调整显示成 32px
,但是并不会扩大,所以 32px
是最小值。
单位贴图比其他的更加宽松,但不要试图降低贴图尺寸到 48px
以下。而且要记住,单位越大,hitSize
就得调得越大。
贴图直接扔在 sprites/
及其子目录下即可,内容解析器会自动递归浏览。
游戏里的图像为了高效率的调用会打包成 “atlas”。在 sprites/ 目录下的第一个子目录,比如 sprites/blocks
,决定了在放置贴图的 atlas 中的页。把方块材质扔进单位页可能会导致延迟,你最好类似原版那样组织贴图文件。
游戏会根据名称来寻找材质,比如 content/blocks/test-turret.json
的名称是 test-turret
,sprites/test-turret.png
也是如此,所以这个贴图就由这个方块使用。
简单来说,游戏会寻找三种材质:方块、单位和物品。因此,贴图应该放在他自己的子目录下: - 方块贴图放在 sprites/blocks
- 单位贴图放在 sprites/units
- 物品贴图放在 sprites/items
游戏有时会修改一些贴图。炮塔和单位会有3-4px
的灰边,所以再制作贴图是需要预留空白。默认外圈半径和颜色能通过修改 Block
和 UnitType
里的 outlineRadius
/ outlineColor
实现自定义。
你可以覆盖原有贴图,把贴图文件放在 sprites-override/
就可以了。
游戏会为一个方块寻找数个材质。
对于炮塔,由于他的他的类型,游戏会寻找名称文件<name>-heat
,也就是会寻找 test-turret-heat.png
。(这个就是发射一次后重载时的贴图)
对于方块和工厂来说,还有 <name>-top
和<name>-liquid
,这些会放置在他的每一个层上。
阅读源码就可以得知每个方块各自加载的贴图,他们通常在各自的类中的load()
方法里。(core.atlas.find的参数就是调用的贴图)
正如其他游戏一样, Mindustry 有自己的调色板。 强烈推荐初学者坚持从自己的贴图里吸取颜色,虽然他会看起来很违和甚至超凡脱俗,你也会让Discord 的 #spriting 版很糟心。
方块调色板:
自然墙与地板调色板:
如果你用了一个正确的画图软件,把这些图片导入为调色板即可。
Mindustry 有简单但充满限制的画风,生搬硬套只会显得违和。由于大环境影响,处于善心,一些规则和指南都发出来帮助模组制作者创作出符合游戏的贴图。
Mindustry是 2D 游戏,所以我们需要添加深度比如凸起和凹陷,我们管这个叫做阴影,尽管真实材质仍然是 2D 的,尽可能的让他在游戏里看起来像 3D 。
根据光的入射位置,凸起需要涂成亮色,平坦处需要涂成中性色,凹陷需要涂成暗色,先 3D 画图,再 2D 投影,是 Mindustry 一种普遍的贴图画法。
记住,指南只是个初级玩意,你可以随便变通,但请先理解最基本的东西,并且要先做出不违和的成果。
这里使用合金冶炼厂作为示例。
对于方块,光从右上角入射,所以,越靠近光源就需要越亮的颜色,并且使用中性色的斜线分割亮部和暗部。
通常来说,工厂有三类颜色:
B0BAC0
| 亮色989AA4
| 中性色6E7080
| 暗色FEB380
| 亮色EA8878
| 中性色BC5452
| 暗色4a4b53
基础颜色代表了方块的主要颜色,这种颜色通常限制为亮灰和暗灰,在所有的方块里看起来都是相同的。
印花颜色代表方块的作用或用途,用于区分方块。选择印花颜色需要根据方块的用途,例如:
塑钢压缩机
塑钢压缩机的印花颜色是绿色,绿色的印花和塑钢的颜色相同,因此你可以把这个方块和塑钢产生联想。
底部颜色代表了方块里部的颜色,也就是没有光的地方,所以要用暗色。这也能代表方块的开口,例如合金冶炼厂。
请注意,不同的方块根据其类型需要不同数量的材质。例如,墙只要一张,就是它自己,而像单位重构工厂这种方块需要四张。请参考 后缀一节。
模组示例:
对于炮塔来说,光从右向左打
这里使用浪涌作为示例。
炮塔有两到三类颜色,每种两个:
7B7B7B
| 亮色4D4E58
| 暗色FEB380
| 亮色EA8878
| 暗色2C2D38
基础颜色,即身体颜色,是炮塔的主要颜色,其范围包括铜棕、白色或者暗灰。
C9A58F
8F665B
F4F4F4
C1C3D4
7B7B7B
4D4E58
炮塔的印花颜色和正规方块的相似,代表着用途或设计原型
炮管颜色是一个可选项,是炮塔炮管的颜色,通常适用于大炮或者导弹发射器
2C2D38
现在我们到达了阴影最难的部分。
单位越大,阴影就越错综复杂。单位阴影中,光可能是自上而下或自前到后。亮色和暗色的强度在单位重要的部分有所变化。
上文提到,亮色代表着凸起,中性色代表着平面,暗色代表着凹陷
请注意观察上面的图片,这使用日蚀作为示例。随着贴图靠近尾部,亮色就变得越少而中性色和暗色也来越多。
被光照射的部分颜色更亮,而没被照射的部分颜色更暗,平面使用中性色。
上面的图像粗略地模拟了单位 3D的样子。
B0BAC0
| 亮色989AA4
| 中性色6E7080
| 暗色单位的印花只有两种颜色——亮色和暗色,这代表了单位在游戏中的类别。
-黄色是核心单位,即核心产出的单位。
FFD37F
| 亮色D4816B
| 暗色FFA665
| 亮色D06B53
| 暗色-绿色代表辅助单位,能够建造、治疗和保护你的单位
84F491
| 亮色62AE7F
| 暗色BF92F9
| 亮色665C9F
| 暗色你也可以随意选取印花颜色,只要你整个模组保证风格统一即可
单位能源用于区分不同队伍,他是材质顶层的单独材质
能源自动染上所在队伍的颜色。
上面是堡垒和他的能源,能源贴图应该只有以下两种颜色
FFFFFF
| 亮色DCC6C6
| 暗色这就是为什么推荐使用能导出单个图层的画图软件,因为你可以画一整个单位再分割涂层,只需要操作一个文件。
单位贴图制作共分五步
1.瞎画一些基本的图形,然后拿暗色重重的涂上去,画出来,慢慢地在每个部分之间添加线条,形成不太清晰的基本图形,然后试着去变成清晰的不规则或曲线图形,确保他看起来很好——大多数情况下不瞎画画不出来好单位,确保进行下一步之前你调整得足够满意。
2.提炼出图形,并且在线条递增45度处变形,你可能得扭一扭,不要太像之前的涂鸦。
<ol start="3">
<li>
加花,印花不容易画好,我展示了三个例子展示他的工作方式——你必须自己试试,然后才能看哪一种适合你。现在就添加印花,是因为稍后要绕着印花加图案,先画好对后面的步骤有益。</li>
</ol>
4.粗糙的标记出来亮部和暗部。在亮部画在上部之后,你就应该马上标记出来你想要照亮哪一个图形和光的明暗,以避免之后回来再想。少覆盖一些,暗部最好只占30%到40%。另外,注意预留出印花旁边的空间以增加层次,使其看起来更令人满意。
5.最错综复杂的部分——增加细节。你没有多少小聪明可以耍,你必须逐渐擅长这件事。然而,我用的方法是:当不确定加什么的时候,就添加能源。他们看起来像印花,你也可以在印花周围添加图形,细节不要太多,使用任何方便的拐角,在大块空间上添加图形。
作者 Zhenьkotron#9493, 校对者 Geschiedenis#4783
环境贴图和其他风格不太一致。增加45°不再适用
环境贴图占了游戏内容大多数,但不是重点。最好的画法就是大同小异。