像素画tile瓦片从零搭建一个完整的横版游戏场景
文本概览:全文约 3,393 字,阅读约 9 分钟。
一开始我以为做瓦片组(tileset)就是把一堆小方块拼起来,没什么技术含量。
回想n年前我刚入行做手游美术,第一次动手画像素画游戏场景,交上去之后主美直接打回——地面和背景糊成一片、平台看起来像是飘在天上、玩家角色站在草地上却像贴在图片上而不是真的”在里面”。
那次挫败让我意识到,瓦片组设计是一门独立的学问,而且横版游戏场景比俯视角(top-down)更容易暴露问题,因为观众的眼睛对”前后层次”和”物理支撑”格外敏感。
后来我在像素画学院在线教像素画,发现瓦片组tile set这一关几乎人人都要栽一次。
调色盘:先给自己设限,反而更自由
使用16色制作tile瓦片。
16 色?现在随便一个像素画作品不都 32 色起步吗?但限制反而让你从“选哪个颜色更好看”的纠结中解放出来。
16 色可以完成游戏场景需要的所有东西——草地、岩石、平台、支撑柱、云层、远景山脉——而且从来没有觉得颜色不够用。
16色覆盖了色轮的各个角落,冷暖中性色都有。如果你也想尝试限制色盘,我的建议是从一个已有的Aseprite内置调色盘(比如 Sly16 或 AAP-64)里抽出一小部分,然后在做瓦片的过程中微调。
别一开始就自己从零配 16 色,那需要大量试错。
基础地面组:三步画出有深度的地形
横版游戏的地面不是一块平板。为了让角色真的“站在”上面,你需要让地面瓦片的外边缘有一个微微向背景倾斜的角度。
16×16px的瓦片是像素游戏里最常用的尺寸。
它是 2 的幂次方,在计算对齐和倍数时非常方便;同时 16×16 又足够塞下让你惊讶的细节量。
绘制过程分三步:
第一步:颜色分块。
用大面积纯色铺出主要色域,同时确定瓦片外边缘的倾斜方向。比如草地瓦片,顶部的草皮会稍微向后倾斜,让你感觉能看到草叶的上面——这就是纵深感的关键。角落瓦片则会在两个外侧同时倾斜。
第二步:粗糙聚集。
把色块混合成簇(cluster),暗示大致的纹理,同时平滑颜色过渡。这时候不用纠结细节,先把整体的明暗和材质感定下来。
第三步:精细细节。
加入高光、加深阴影、让簇的形状更有描述性。但要注意——别画太细。特意保留大块色簇,因为过多的细节在低分辨率下会变成模糊或噪点。
这里有一个小技巧:草地瓦片的顶部如果直接截平,玩家走在上面会显得很假。你可以额外做几片草叶和植物瓦片,让它们“长”在地面上方。
玩家角色实际上是站在底层的地面瓦片上,视觉上却会被草叶覆盖一部分,这样看起来就像真的融入了环境。
平台与支撑:别让平台飘在天上
横版游戏里最常见的元素之一就是平台。
但我一直很纠结“悬浮平台”这件事——它们没有任何物理支撑,凭空出现在画面中间。除非设定里明确说了这是魔法或反重力技术,否则我总觉得哪里怪怪的。
解决办法很简单:给静态平台加上支撑结构。
这些支撑瓦片的设计很有意思——它们看起来位于“近背景”层,让你知道玩家可以从前面走过去,但又足够近,看起来和平台是连在一起的。除了给平台提供“逻辑支撑”,这些支撑柱本身也是很好的背景装饰元素。你甚至可以把它们单独拿来用,纯做视觉上的背景层次,不一定要连平台。
支撑柱画得太粗,会抢了前景的风头。记住支撑结构的视觉权重应该低于前景平台和角色,否则玩家会误判碰撞区域。
背景瓦片:用层叠创造纵深感
背景的目标是创造深度,同时不干扰前景的可读性。
推荐的做法是做多个简单的背景层,让“叠加效果”产生视觉丰富度,而不是靠一两层极其复杂的背景来撑场面。
层数越多,视差滚动时的纵深感就越强。
不过一般来说,3到4层已经足以营造出让人信服的深度了。
云层的某些部分会“渗”进背景色里,颜色边界不那么锐利。这在前景物体和可交互元素上是绝对要避免的——精灵必须轮廓清晰、对比分明。
但背景是“被动元素”,适当的颜色交融反而能增加空气感和距离感,只要形状仍然可辨识就没问题。
在 16 色的限制下,用重叠和微妙的轮廓线来榨取每一滴视觉信息。
如果调色盘更大,可以加更多细节、堆更多背景层来模拟大气透视。但16色可以产生色彩鲜艳的像素复古感。
tile瓦片设计的7个原则
平衡(Balance)——瓦片内部的视觉重量要均匀分布。
如果某个区域特别抢眼,拼成大地图时那个图案就会反复出现,露出马脚。让一些簇跨过瓦片边缘、绕到另一侧,能有效隐藏接缝。
一致性(Consistency)——定义几个核心的簇形状,在多个瓦片中重复使用。
这会让整套瓦片看起来协调统一。但要避免“关键簇”互相接触,否则会融成不规则的杂色块。角对角接触是可以的。
限制颜色(Limit colors)——纹理只需要少量颜色就能很丰富。
颜色太多会让纹理变糊,强对比色在纹理图案里也可能变成不悦目的噪点。
对比(Contrast)——把不同纹理放在一起时考虑对比度。
两个都很繁杂的纹理挨在一起会让眼睛很累。负空间是你的朋友。
镜像(Reflect)——很多瓦片直接水平镜像就能做出不同朝向的版本,省时又统一。
但这只在光源对称或均匀环境光的前提下才成立。在本文例子中,光源始终从正上方来,所以左右镜像完全没问题。
分辨率(Resolution)——瓦片尺寸可以任意,但越大越费力。
16×16 是最常见、最稳妥的选择。
变体(Variants)——同功能的瓦片做几个变体,能减少重复感。
好的瓦片组其实不需要大量变体,但那些在地图里经常连成一片的瓦片,至少做一两个替代版本就够了。比如本文云层例子就有两种不同的中间底部瓦片,混着用看起来更自然。
总结
做瓦片组tile set的过程,开头总是最枯燥的——你要一个一个画,好像永远看不到尽头。但当你攒够一批瓦片,开始在地图编辑器里拼出第一个小场景时,那种“用这么少的素材就能变出这么大的世界”的感觉,真的很上瘾。
你会忍不住一直往下做:更多的地形、更多的背景层、不同的生态环境……
瓦片设计就是这样,前期投入大,但一旦掌握规律,速度会快得让你惊讶。
如果你也想动手试试,这里有一个立即可做的小练习:打开 Aseprite 或 Pyxel Edit,用 16×16px 的画布,只选 4 个颜色,画一个最基础的草地地面瓦片。
给初学者的下一步行动:把这个基础草地瓦片扩展成一套完整的地面组——加上左侧边缘、右侧边缘、左上角、右上角,然后再尝试加一层简单的远山背景。
你不需要一次做完,瓦片组最怕贪多,一次只做一类,做完地面做平台,做完平台做背景,很快就能拥有一个能跑起来的场景。
参考资料
https://www.slynyrd.com/blog/2020/5/21/pixelblog-28-side-view-tiles): https://www.slynyrd.com/blog/2020/5/21/pixelblog-28-side-view-tiles)
热门跟贴