查看原文
其他

Unity 2D之Tile Map使用指南

2016-06-14 Unity官方 Unity官方平台

上周为大家介绍了带有2D新功能的Unity预览版,众多开发者都对其中的Tile Map很感兴趣,今天我们就为大家详细介绍Tile Map的使用指南。


如何创建Tile Map
1.  依次点击菜单项GameObject > 2D Object > Tile Map创建Tile Map


2.  此时场景中会出现一个带子节点的GameObject。这个GameObject被命名为Tile Map并带有Grid组件,用于决定所有Tile Map子节点的布局。这个GameObject的子节点被命名为Layer,Layer包含Tile Map 和 Tile Map Renderer组件。这个Layer就是瓦片地图的画布。
3.  在Tile Map中新建Layer的方法是,选定Tile Map或者Layer对象,在层级视图中右键点击2D Object > Tile Map,或者依次点击菜单项GameObject > 2D Object > Tile Map直接新建Tile Map。


4. 在层级视图中选定对象下方就会新增的名为Layer (*)的GameObject。这个新的Layer同样也是画布。
调整Tile Map的Grid


1.  选定Tile Map对象的Grid组件。
2.  在检视面板中调整Grid组件。      a.  Cell Size(单元格尺寸):地图网格中每个单元格的大小      b.  Cell Gap(单元格间距):地图网格中每个单元格间的距离      c.  Cell Layout(单元格布局):地图网格的单元格布局方式            i.   Rectangle(矩形):标准的Tile Map矩形布局            ii.   Hexagon(六角形):六角形Tile Map布局(网格的可视化工作还未完成,但瓦片贴图可以正常排列)            iii.  Isometric(等边):Tile Map等边布局            iv.  Custom(自定义):(开发中)      d.  Cell Swizzle(单元格布局方向调整):将单元格朝向另外的坐标系来布局。例如从XYZ模式切换为XZY模式,Y和Z的坐标将会被对调,所以对Y坐标的输入将会被映射到Z轴,反之亦然。
3.  调整Grid会影响到所有包含Tile Map和Tile Map Renderer组件的子Layer对象。
如何利用Sprite创建Tile
1.  依次点击菜单项Window > Tilemap Palette打开Tilemap Palette。



2.  在资源窗口中选择将要使用的一个或多个Sprite。


3.  将选定的一个或者多个Sprite拖拽到Tile Map Palette中。


4.  这时会弹出一个对话窗口,来选择保存新Tile资源的目录。


5.  选定的文件夹中会生成新的Tile资源,该资源将显示在Tilemap Palette中。


6.  也可以单独添加Sprite到Tilemap Palette中。


7.  记得保存项目以确保Tilemap Palette中的配置被保存。


Tile Asset
通常瓦片贴图就是由实际的Sprite排列而成。这里的实现方式是使用中间资源来引用Sprite而非直接由Sprite平铺地图。这种方式为瓦片本身提供了多种可能,在瓦片与地图间构建灵活可靠的系统。


属性说明 
  • Sprite-当前Tile Asset使用的Sprite
  • Color - 用于给材质着色
  • GameObject - 为贴图附加一个游戏对象
  • Flags - 多种标识选项
  • Collider Type - 暂不支持

Tile Map Palette



●  按住Alt + 鼠标左键平移调色板

●  按住鼠标中键件平移调色板●  使用鼠标滚轮放大或缩小●  左键单击选中一个Tile●  按下左键并拖拽选中多个Tile
1.  单击Tile Map Palette下拉列表的+按钮新建Tile Map Palette


2.  选中下拉列表中的Tile Map Palette对象后右键点击打开菜单,点击菜单中的Edit…来重命名该Tile Map Palette。


3.  选中下拉列表中的Tile Map Palette对象后右键点击打开菜单,点击菜单中的Delete来删除该Tile Map Palette。
4.  注意:默认的 Tile Map Palette无法通过这个方式删除或重命名名。
5.  改动过后切记保存项目!
编辑Tile Map Palette
1.  从下拉菜单中选择需要编辑的调色板
2.  点击下拉菜单右边的锁定按钮打开锁进行编辑


3.  调整调色板      ○  根据选定的工具,点击Tile来绘制或擦除调色板中Tile      ○  Ctrl-Click选定调色板中的Tile,可以同时选定多个Tile
4.  处理完毕后点击下拉菜单右边的锁按钮来锁定完成编辑的调色板。
5.  记得保存项目来保存编辑的调色板
Tile Map绘制
1.  选定需要绘制的Tile Map来启用绘图工具。


2.  Tile Map Palette中可以找到用来绘制Tile的绘图工具。


3.  点击绘制工具中的画笔图标,从Tile Map Palette中选定一个Tile然后左键点击场景视图中的Tile Map来进行绘制。


4.  使用绘制工具可以将选中的所有Tile绘制在场景中,在Tile Map Palette中左键单击并拖拽即可选择相应的Tile。




5.  使用绘制工具时,按住Shift会切换为擦除工具。      


6.  矩形工具用于在Tile Map中绘制矩形块,并由选定的Tile来填充。 


7.  选取工具用于从Tile Map中选取要绘制的Tile。按下左键并拖拽可以一次选取多个Tile。在绘制工具模式下按住Control就会切换为选取工具。 


8.  填充工具用于将选定区域填充为选定的Tile



Tile Map 快捷键
  • Shift + 鼠标左键擦除Tile

  • Ctrl + 鼠标左键选择Tile

  • Alt + 鼠标左键平移场景视图

 下面这些快捷键只有在场景视图激活时起作用。因此当在调色板中选定了一个Tile,需要右键单击场景视图来激活它。
  • 按下Y键将选定的Tile垂直翻转

  • 按下X键将选定的Tile左右翻转

  • 按下.  (句号) 顺时针旋转

  • 按下, (逗号) 逆时针旋转


如何创建可编程的Tile
1.  新建一个BaseTile(或者任何BaseTile的子类如Tile)子类。
2.  在新的Tile类中重写一些必要的方法,通常需要重写的方法如下:      a.  RefreshTile 方法决定了当Tile被加入到Tile Map中,有哪些邻近的Tile需要被更新。      b.  GetTileData方法决定了Tile在Tile Map中的显示。
3.  使用ScriptableObject.CreateInstance<(Your Tile Class)>()来创建新类的实例。可以在编辑器中将这个新的实例转化为资源,这样就可以通过AssetDatabase.CreateAsset()来重复调用新实例。
4.  也可以为新的Tile类自定义编辑器。这与脚本化对象的自定义编辑器方式相同。

5.  记得保存项目确保新的Tile资源得以保存。


延展阅读

Unity 2D新功能抢先体验!

可视化调试物理碰撞体

Unity中实现LCD显示器特效

Unity Ads助力小游戏《方块历险记》

Unity 5.4中的序列化与MonoBehaviour


我们还会分享更多Unity相关的技术内容在Unity官方中文论坛(forum.china.unity3d.com),请保持关注!




点击“阅读原文”进入Unity官方中文论坛!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存