浅谈Unity中的Tilemap
概述
Tilemap功能是Unity在2017.2版本中正式出现的功能,其主要功能为提供一套官方的瓦片地图编辑器。其使用继承了Unity一向的简介与易上手等特性,本文将简略谈一谈Unity中这套系统的使用方法与特征。参考文档主要为Unity文档Tilemap部分,详情请点击此处。
创建瓦片地图
Unity将瓦片地图视为一种2D资源来处理,于是乎创建瓦片地图同创建其他资源一样,在Hierarchy视图右键点击2D Object-Tilemap来创建一个空的瓦片地图。空瓦片地图如下图所示,包含一个Gird父物体与一个Tilemap子物体。
其中Gird物体挂载一个Gird脚本,Grid脚本确定了子物体Tilemap的布局,如同UGUI系统中的Canvas,在选择Grid物体时,Scene界面将会出现可视化网格以方便编辑与查看。Tilemap物体上挂载了Tilemap与TilemapRenderer脚本,这两个脚本的作用如同其名字一样,Tilemap脚本控制图层配置,而Renderer脚本则负责渲染工作。
同一个Gird物体下可以管理多个Tilemap对象,只需在选中Grid的情况下右键创建新的Tilemap即可。当场景中同时存在多个Tilemap对象时,只需将其理解为多个层即可。
创建瓦片资源
瓦片资源是Tilemap系统中用于绘制地图的基础资源,通常情况下,一个瓦片资源为一个图像资源的引用。
在Unity中,可以通过手动创建瓦片资源然后指定图像资源的方式来创建瓦片,同时也可以通过图像资源自动生成瓦片资源。
手动生成的方法为在Assets右键并选择Create-Tile来生成。自动生成瓦片资源则需要将图像资源拖拽到Palette视图内来实现。
使用Palette绘制瓦片地图
Tilemap系统中提供给用户绘制瓦片地图的工具成为Tile Palette,在Window-Tile Palette(2018版本中更换到了Window-2D-Tile Palette)即可打开这个编辑器的视图。
这个编辑器即为Tilemap系统中的绘制工具。在其顶部拥有非常多的按钮可供用户使用,本质上,这个调色盘的功能便是瓦片的集合,用户从调色盘中选择一种瓦片绘制到tilemap对象上。其工具从左至右依次为选择-移动-绘制-填充矩形-选取-橡皮擦-油漆桶填充。
在绘制瓦片地图之前需要先创建一个Palette对象,在Palette界面点击Create New Palette来新建一个调色盘对象。然后需要将瓦片资源导入Palette中。
在导入完成之后,我们就可以对场景中的瓦片地图进行编辑了。
值得注意的地方是,有时候用这种方法绘制出来的瓦片地图大小对不上,解决方式是查看导入的图像资源大小,并且在导入设置中调整Pixels Per Unit的大小。另外一个值得注意的地方是,如图所示,在Game视图中,绘制的瓦片地图出现了一些不那么协调的白色分割线,这是由于抗锯齿设置导致的,解决方法是在Edit-Project Settings-Quality中,取消抗锯齿(anti-aliasing)即可。如果抗锯齿设置了仍然出现奇怪的线,那可能是Pixels Per Unit的值太大导致的。
其他拓展功能
Unity2018.2版本中的Tilemap功能并非最终版本,Unity也做了很多实验性的功能在其中,在Unity的Github主页上提供了一些拓展功能可供下载。具体地址请点击此处.