unity2D如何搭建地形?如果在原来可能需要安装类似 Ferr2D Terrain Tool 或 Tile Mapper 的收费插件才能实现。而现在免费且功能强大的TileMap来了!

首先对TileMap做一个简单的介绍。

TileMap是在unity2017.2之后的版本内置的一个功能

此功能允许你快速地使用瓷砖和网格来搭建2D地形。

它分别由Tile Assets,Grid GameObjects,The Tilemap Palette,Custom Brushes组成。

 

Tile Assets

通常来说,Tiles实际上是在Tilemap上排列的Sprites。 而Sprite作为一个元素去构建各种形状的地形。 这使我们能够以多种方式扩展Tile外形以及大小,为Tile和Tilemaps创建一个强大而灵活的系统。

Sprite:Tile Asset所使用的精灵图

Color: 颜色材质

Collider Type: 无, 精灵图 或 网格

 

创建Tile Palette

有两种方法可以创建Tiles。 第一种方法是直接创建Tile Assets。 另一种方法是从选择的Sprite中自动生成Tiles。

要创建Tile,请从Project菜单中选择Create > Tile。 然后选择保存新Tile Assets的位置。

接着继续创建Palette

在Window 菜单中选择Tile Palette

点击Tile Palette中的Create New Palette按钮。 为Palette提供一个名称,然后单击Create按钮。

然后选择保存位置。

或者你也可以直接把素材或精灵图直接拖进来创建Tile Palette

 

创建 Tilemaps

在GameObject菜单中的2D选项中选择Tilemap会在场景中创建一个带有子对象Tilemaps的Grid,Grid 作为画布Tilemaps作为画布上的元素。

子对象Tilemap包含Tilemap组件和Tilemap渲染器组件

如果要创建用作“图层”的其他Tilemaps,请选中Grid 或Tilemap,然后在菜单中选择GameObject> 2D Object> Tilemaps,或右键单击菜单中的GameObject并单击2D Object> Tilemap。

绘制2D地图

要在Tilemap上绘制,Tile Palette必须选择Active Tilemap。 场景中的Tilemaps会自动添加到选项中。

使用Tilemap面板上的绘画工具

点击画笔工具,从Tilemap Palette中选择一个Tile,然后左键单击Scene View中的Tilemap来开始铺设Tiles。

 

画笔工具

可以左键单击并拖动Tilemap面板来决定铺设的大小

按住shift来擦除

矩形工具可以在Tilemap上绘制一个矩形形状,并用选定的图块填充它。

 

矩形工具

拾取工具用于从Tilemap中选择要用于绘制的Tiles。就类似PS的拾取器, 左键单击并拖动以选择多个Tiles。 在绘画工具模式下按住Ctrl键(或MacOS上的Cmd)以切换拾色器工具。

 

拾取工具

 

填充工具

选择工具用于选择要检查的Tiles区域。

 

选择工具

移动工具用于将选定区域的瓷砖移动到另一个位置。 点击并拖动所选区域以移动瓷砖。

 

移动工具

Tilemap置顶模式

如果您有许多Tilemap图层,但希望单独在特定图层上工作,则可以将其置顶,并从视图中阻挡所有其他GameObject。

从Palette窗口的Active Target下拉菜单或Hierarchy窗口中选择目标Tilemap GameObject。 在SceneView的右下角,有一个Tilemap选项框。

在下拉列表中更改Focus On目标:

None – 没有GameObject置顶;

Tilemap – 目标Tilemap GameObject置顶。 所有其他GameObjects都被覆盖。 如果您想置顶单个Tilemap图层,可以选择此项。

Grid – 使整个父对象下的所有子对象置顶,当你想集中置顶整个Grid可以选择此项。

给Tilemap添加物理属性

可以将Tilemap Collider 2D组件添加到Tilemap的GameObject中,以基于Tilemap的Tiles生成对撞机。

Tilemap Collider 2D组件的功能也类似于普通的Collider 2D组件。