Tilemap - wuboluo/Unity-Farm GitHub Wiki
Template地图框架
创建新地图层
使用正常的方形瓦片地图:2D Object-Tilemap-Rectangular
注意事项
1,为每一层设置对应的 Sorting Layer,顺序保持一致 2,设置地图属性空节点:Grid Properties,在其下创建不同用途的瓦片地图(例如:用于种植、丢弃、NPC寻路等),并设置 Sorting Layer:Collision 3,人物处于 Instance 层,所以处于 Instance 以上的层都会被人物踩到脚下 4,用来碰撞关系的地图层:Collision
新建场景时
1,绘制 Collision 层碰撞 2,添加 Bounds 设置摄像机边界 3,创建 ItemParent 并设置 Tag 4,设置用于场景切换的出入口 Teleport 5,绘制 Grid Properties 下不同区域的范围,并保存至对应的 MapDataSO
创建规则瓦片
Project 界面右键:Create-2D-Tiles-Rule Tile
配置一组规则瓦片,根据不同方向设置此瓦片周围各方向是否可以衔接。其中四周均可衔接的中间部分可设置随机绘制(Output-Fixed)。如图:
绘制地图
添加翻转工具到面板
工具周围空白处右键,将右侧的翻转工具添加
随机绘制
例如,有不同的花儿可以在地图中随机绘制
- 由默认笔刷(Default Brush)改为随机笔刷(Random Brush)
- 勾选下面两项,点击选择想要参与的瓦片图片就会被添加至随机列表

查看地图
可查看某一层Tilemap,方便检查和绘制,避免绘制错地图层
- 选择 Tilemap
- 选择想要查看的层,其他层就会以灰色显示
打包图集
用于解决瓦片之间的空隙问题,如图:
解决方案:
- Project 界面右键:Create-2D-Sprite Atlas 这个图集可以将我们添加的所有图片素材打包成一张完整的图片,这样Unity在引用时,就会忽略其中的缝隙,把他紧密的安排在一起
- 将需要打包图集的资源/资源文件夹拖拽进创建的 Atlas-ObjectsforPacking
- 设置 FilterMode:Point,Compression(压缩):None
- 如果图片边有被切割到其它图片的现象,就需要设置 Padding:8,增加间隔
- 点击 Pack Preview
为障碍层添加碰撞体
添加碰撞组件
添加 TilemapCollider 2D Rigidbody 2D CompositeCollider 2D 三个组件,并配置一下两项设置,这样绘制的碰撞体就会合成一个整体

解决不贴合边的问题
选择需要修改的图片,进入 Sprite Editor,选择 Custom Physics Shape,点击 Generate,拉拽图片中的顶点
