Original
2016-06-14
Unity官方
Unity官方平台
上周为大家介绍了带有2D新功能的Unity预览版,众多开发者都对其中的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同样也是画布。
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对象。
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中的配置被保存。
通常瓦片贴图就是由实际的Sprite排列而成。这里的实现方式是使用中间资源来引用Sprite而非直接由Sprite平铺地图。这种方式为瓦片本身提供了多种可能,在瓦片与地图间构建灵活可靠的系统。
属性说明 - Sprite-当前Tile Asset使用的Sprite
- Color - 用于给材质着色
- GameObject - 为贴图附加一个游戏对象
- Flags - 多种标识选项
- Collider Type - 暂不支持
● 按住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. 改动过后切记保存项目!
1. 从下拉菜单中选择需要编辑的调色板
2. 点击下拉菜单右边的锁定按钮打开锁进行编辑
3. 调整调色板 ○ 根据选定的工具,点击Tile来绘制或擦除调色板中Tile ○ Ctrl-Click选定调色板中的Tile,可以同时选定多个Tile
4. 处理完毕后点击下拉菜单右边的锁按钮来锁定完成编辑的调色板。
5. 记得保存项目来保存编辑的调色板
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
Shift + 鼠标左键擦除Tile
Ctrl + 鼠标左键选择Tile
Alt + 鼠标左键平移场景视图
下面这些快捷键只有在场景视图激活时起作用。因此当在调色板中选定了一个Tile,需要右键单击场景视图来激活它。按下Y键将选定的Tile垂直翻转
按下X键将选定的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相关的技术内容在Unity官方中文论坛(forum.china.unity3d.com),请保持关注!
点击“阅读原文”进入Unity官方中文论坛!