【Unity学习笔记】Tile Palette入门使用

声明:此篇文章是个人学习笔记,并非教程,所以内容可能不够严谨。可作参考,但不保证绝对正确。如果你发现我的文章有什么错误,非常欢迎指正,谢谢哦。

创建TileMap

在Hierarchy面板右键>2D Object>TileMap,这样就创建了瓦片地图(TileMap)。实际上,这样会创建两个物体:外层Grid和内层TileMap。
在这里插入图片描述

Grid物体

Grid物体中包含一个Grid组件,Grid组件的作用就是使用网格告诉我们可以如何铺设瓦片,比如铺设位置、瓦片形状。当我们选中Grid时,会在场景中看到由许多小格子组成的网格,这些小格子就是铺瓦片的地方。
在这里插入图片描述

TileMap物体

TileMap像是地板或墙,是铺瓦片的地方,但是这些墙是透明的。我们可以创建多面墙(在现有Grid或TileMap上右键>2D Object>TileMap)来铺设瓦片,这些墙互不干扰(除了显示顺序,即一面墙上贴的瓦片会遮挡另一面墙上的瓦片)。我们可以对同一个墙(Tilemap)上的瓦片进行统一管理,所以相同作用的瓦片应当放在同一个墙(即TileMap)上。比如角色可以踩踏的石台都铺在同一面墙上,而与角色无互动的墙面放在另一面墙上,也许还可以创建一层专门用来放置碰撞体,当然,应根据实际需要安排。
在这里插入图片描述
以上,我们已经有了墙(TileMap),也有了瓦片排列的方案(Grid)。关于Grid、TileMap上的组件在最后面详解。接下来应当准备好瓦片的样式以及贴瓦片的工具即可。

Tile Palette面板

Tile Palette就相当于一个瓦片和工具的管理器,通过它可以很好地管理所有瓦片、选择合适的工具来铺设瓦片。

开启Tile Palette面板

安装

如果当前项目还没有使用过Tile Palette面板,可能需要临时下载:
打开Window > Pack Manager,然后搜索2D Tilemap Editor,点击Install进行安装。
在这里插入图片描述

打开面板

通过Window>2D>Tile Palette开启面板
在这里插入图片描述

创建新的调色板(Palette)

点击Create New Palette创建新的调色板,其中的设置应当与前面的Grid相一致。
在这里插入图片描述

添加瓦片素材

创建好调色板后,将Sprite拖拽进入调色板中,就可以添加瓦片素材。
在这里插入图片描述

绘制瓦片

在这里插入图片描述
1.设置好要使用的调色板以及正确的Tilemap。
2.在调色板中选择要使用的瓦片
3.使用绘制工具在场景中的格子上进行绘制(点击左键,或者按住左键不放进行拖动)
绘制工具的使用非常简单,就不记录了。

编辑调色板

在这里插入图片描述
在Tile Palette面板中有一个Edit按钮,按下此按钮,然后使用绘制工具可以对调色板进行编辑修改(和在场景中绘制瓦片一样的方式)。

碰撞检测

在这里插入图片描述
通过给Tilemap添加Tilemap collider 2D组件来实现。添加完Tilemap collider 2D会发现自动添加了一个Rigidbody2d组件。同时发现,每块瓦片都有一个单独得collider,这显然会加大性能得消耗。
在这里插入图片描述
解决办法是,再添加一个Composite Collider 2D,同时把Tilemap Collider 2D的Used By Composite勾选上即可。
在这里插入图片描述
另外,如果Tilemap Collider 2D生成的碰撞体与瓦片不够贴合,可以打开Sprite Editor,然后切换成Custom Physics Shape进行调整。

组件

Grid组件

在这里插入图片描述

属性功能
Cell SizeGrid组件的第一个属性Cell Size,表示的是网格中每个格子的大小(是Unity中单位,不是像素)。如果想要合理的效果,即一个瓦片正好铺满一个格子,需要注意图片素材的Improt Settings中Pixel Per Unit的设置。Pixel Per Unit表示的是此图片的几个像素占Unity中1个单位。比如设为16表示此图片中16个像素大小占Unity中1个单位(Unity会据此进行缩放),如果图片正好是16x16像素大小,那么正好可以占Unity中1个1x1的格子。在这里插入图片描述
Cell GapGrid组件的第二个属性Cell Gap是用来在格子与格子之间创建空隙的。要注意的是:如果把此值设为负数,其绝对值无法大于Cell Size属性的值。在这里插入图片描述
Cell Layout此属性是用来设置格子的形状和排列方式的。Rectangle是正方形;Hexagon是六边形;Isometric格子为菱形,用于等距布局
Cell Swizzle修改此值,就相当于对Grid平面进行旋转,这个值和底层图形计算有关,具体可以参考:这里

实际上,Unity给我们提供了一些常用预设,当在Hierarchy面板>右键>2D Object时,除了Tilemap外,还能看到几个选项。
Hexagonal Point Top Tilemap表示尖顶六边形;
Hexagonal Flat Top Tilemap表示平顶六边形;
Isometric Tilemap 菱形
Isometric Z as Y Tilemap

TileMap组件

在这里插入图片描述
https://docs.unity3d.com/cn/current/Manual/class-Tilemap.html

Tilemap Renderer组件

在这里插入图片描述
https://docs.unity3d.com/cn/current/Manual/class-TilemapRenderer.html

Tilemap collider 2D组件

在这里插入图片描述
https://docs.unity3d.com/cn/2021.1/Manual/class-TilemapCollider2D.html

推荐文章:
1.【Unity】使用 Tilemap 创建等距视角 (Isometric) 的 2D 环境
2.Unity使用Isometric Z As Y Tilemap创建2.5D地图(一)如何创建Tilemap
3.Rule Tile
4.【Unity学习笔记】2D图形渲染顺序

  • 16
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值