概念
Tilemap作为一个组件,可保存和控制TileAssets,Tiles资源可用于创建2D关卡
Tilemap可将Tile上的信息传递给其他组件,如:TilemapRenderer、TilemapCollider2D
使用Tilemap的流程
- 创建一个Tilemap游戏对象(会创建出一个Grid对象,其有一个子对象Tilemap)
- 创建TileAssets资源,或通过Sprites生成Tiles
- 用选定的TileAssets创建一个TilePalette
- 使用TilePalette绘制Tilemap
- 为Tilemaps配置碰撞体TilemapCollider,使之能与Physics2D交互
流程中涉及到的各概念
Tilemap
是一个组件,具有如下属性
- AnimationFrameRate:Unity播放平铺动画的速度
- Color:为各Tile对应的贴图附上颜色
- TileAnchor:各Tile相对其所属Grid的偏移
- Orientation:贴片所朝的方向(默认是xy)
Grid
是一个组件,具有如下属性
- CellSize:各Grid的大小
- CellGap:相邻Grid之间的间隔
- CellLayout:Grid的形状,如正方形、正六边形
- CellSwizzle:整个Grid的朝向
TileAssets
Tiles是一种资源,用于放置在Tilemaps上来构建2D环境
每一个Tile都有其对应的Sprite,该Sprite被渲染在该Tile在TilemapGrid上所处的位置
该资源有如下属性
- Preview:展示其对应的精灵图片
- Sprite:其对应的精灵图片
- Color:被叠在精灵图片上的颜色
- ColliderType:碰撞体的类型,可设置使用精灵图片的轮廓线或直接使用Tilemap的整个Grid
TilePalette
可通过选定的Tiles创建,用于在Tilemaps上绘制
设置完相关配置后可保存
TilemapCollider2D
向Tilemap游戏对象添加该组件,用于为其中的每一个Tile生成碰撞体
各Tile具体的碰撞体形状由其对应的Tile资源中的配置决定(如对应图片的轮廓或整个网格)