Unity Tilemap入门教程:从创建到绘制2D瓦片地图
Unity Tilemap入门教程:从创建到绘制2D瓦片地图
Tilemap介绍
在使用Unity制作2D地图时,几乎都需要将很多重复的小地图块拼接成一个大型的地图,例如山地、森林、海洋等。这时候如果需要对地图进行修改、划分层级等操作,就可以使用Tilemap来高效地制作或管理地图。
注意:Tilemap是Unity 2017.2版本之后才内置的,早期的版本可能需要通过下载插件来使用Tilemap。本文使用的版本是Unity 2022.1.4。
创建第一个Tilemap
在层级面板(Hierarchy)中点击鼠标右键,在2D Object - Tilemap中创建一个Rectangular(正方形)的Tilemap。
选中Grid后,可以在场景中看到很多格子,这就是Tilemap网格。Grid类似于UGUI的Canvas,用于统一管理子层级下的所有Tilemap,而Grid的子物体Tilemap则相当于一张白纸,可以在上面填充各种地图块。
创建Tilemap调色板(TilePalette)
创建了一个Tilemap后,就需要创建TilePalette调色板来存放“颜料”。
在菜单栏的Window - 2D - Tile Palette中打开调色板窗口。
打开后可以将其固定到场景下方。
创建TilePalette调色板有两种方式:
- 在项目(Project)面板里右键根据图片创建一个Tile Palette。
- 点击Tile Palette里的Create New Palette,调整好各种参数后点击Create完成创建。
创建瓦片(Tile)
创建好调色板后,需要将瓦片资源创建出来。这里需要准备Sprite类型的图片,然后直接将图片拖入调色板,会在选择的路径下自动创建瓦片资源。
选择好图片:
拖入调色板后,瓦片资源会自动创建并显示在调色板中。也可以一次性选中多个图片拖入调色板:
绘制地图
在开始绘制地图之前,需要了解一些基础概念和功能的使用方法。
Sprite图片参数设定
一张Sprite图片导入Unity时,其Pixels Per Unit参数默认为100。这个参数会影响图片的尺寸或缩放。通过摸索发现,图片的缩放满足:图片分辨率 / Pixels Per Unit。
例如,一张32x32的图片,Pixels Per Unit为64时,使用时会缩小二分之一:
将Pixels Per Unit改为32时,图片会显示正常大小。
调色板功能介绍
吸管工具(快捷键:I)
在调色板中选择吸管工具,可以选择一个或多个瓦片,选择完后会自动跳转到画笔工具。画笔工具(快捷键:B)
选择画笔工具后,可以在Tilemap上填充瓦片。使用前需要用吸管工具选择要绘制的部分。矩形工具(快捷键:U)
选择矩形工具后,可以在Tilemap上拖出一个方形区域进行填充。
- 油漆桶工具(快捷键:G)
油漆桶工具有两个用途:
- 将互相接壤的同一个瓦片变成选中的瓦片
- 填充闭合空白区域
例如,将尖刺全部变成正方形:
填充闭合区域:
- 选择工具(快捷键:S)
可以选择出一块区域。
移动工具(快捷键:M)
可以移动用选择工具选择出来的区域。橡皮擦工具(快捷键:D)
可以删除已经填充的瓦片。
- 编辑调色板
如果需要对调色板进行编辑,例如调整瓦片位置,可以点击工具栏下方的Edit。
例如,将所有瓦片在调色板中连成一条线:
到这里,Tilemap教程的基础篇就介绍完毕了。后续会更新进阶篇,探索Tilemap更深入的功能。