注意
在开始本篇之前,请大家先点击WIndow > Package Manager 下载一个2D Tilemap Extras 的包,方面后续能进行下去。
瓦片地图
OK,目前为止,我们实现了人物的移动,不过感觉空荡荡的,接下来就要创建一个环境能让角色在其中移动,因此就要用到我们的瓦片地图。
设想一下,如果要做一个环境,采用导入图片或者素材的方式听起来似乎很不错,但是如果要做一个非常大的世界,绘制整个世界的图片可能会严重影响游戏规模和资源,而对于游戏测试来不断改变游戏,可能还需要重新绘制环境。
现在瓦片地图可以将这个问题解决,瓦片地图将世界作为一个网格,你可以在其中为每个网格单元格设置不同的精灵(图片素材)。通过使用在视觉上连在一起的精灵(图片素材),你可以创建便于在编辑器内直接更改的更大图像。
试试就逝世!
创建瓦片地图
- 在Hierarchy窗口中,右键单击。
- 选择2D Object -> Tilemap -> Rectangular
此时在Hierarchy窗口中出现了两个东西
- Grid(网格):场景中的网格可用于将游戏对象均匀放置在单元格中。
- Tilemap(瓦片地图):此瓦片地图是网格的子对象。瓦片地图由瓦片组成
创建新瓦片
瓦片地图不会直接使用素材,而是使用瓦片。接下来创建新的瓦片
- 在Project窗口,选择Assets -> Art。
- 在文件夹右键,创建一个文件夹,命名为“TIles”。
- 双击文件夹。
- 在文件夹内右键选择Create -> 2D -> Tiles -> Rule Tiles
- 更改瓦片名称为“FirstTile”并保存
- 在Inspector中,可以看到瓦片资源属性,包括一个Sprite字段(瓦片将绘制此精灵)
将精灵分配给FirstTile
- 下载一个背景素材(可以用该项目的素材)
- 创建一个文件夹对保存此素材
- 选中FirstTile瓦片,将此图片拖动到Sprite方框中
将FirstTile添加到面板中
- 选择Windows > 2D > TilePalette。打开TIle Palette窗口
- 选择Create New Palette > Create
- 此时需要我们保存文件,将文件保存在TIle文件夹中。
- 将FirstTIle拖动到这个新面板中
- 选中画笔工具,这样我们可以在Scene上随意绘制啦!
当然不是!你在绘制的时候可能会出现图片没有连在一起的情况。
适应网格
导致这种情况的原因是因为在Grid对象中,Cell Size属性中X,Y均为1,而在瓦片中Inspector中Import Setting里的Pixels Per Unit 属性为100。
Pixels Per Unit 定义1个单位的像素大小,而我们的图片可能与这个像素大小不匹配导致有空隙的情况,如果图片是64X64,那么久将Pixels Per Unit 的值改为64,单击Apply应用。
瓦片集
瓦片集可以将图片进行分割,当你有一张大图片这样可以选择需要的部分进行绘制。
- 选择该精灵,在Inspector中,将Sprite Mode从Single更改为Multiple
- 更改Pixels Per Unit 值为64。
- 点击Apply应用
在Inspector中,单击Sprite Editor按钮,打开一个新的窗口,在窗口中点击Slice,来拆分图像,在下拉菜单将Type字段设置为Grid by Cell Count。
将Column & Row值均设置为3,意思是划分成三行三列。然后单击Slice划分。
现在点击Project中图像的小箭头会出现9个小图像。
不过要注意更改图层的顺序,选择Tilemap游戏对象,在Inspector中找到Tilemap Renderer组件,将Order in Layer字段设置成-10,让人物能出现在视图中
这一块的知识没有太需要说明的地方,详细可以看官方网站。
本篇讲解了瓦片地图大致的制作,其中有很多操作大家可以自行探索。