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)。如图: image

绘制地图

添加翻转工具到面板

工具周围空白处右键,将右侧的翻转工具添加 image image

随机绘制

例如,有不同的花儿可以在地图中随机绘制

  1. 由默认笔刷(Default Brush)改为随机笔刷(Random Brush image
  2. 勾选下面两项,点击选择想要参与的瓦片图片就会被添加至随机列表 image

查看地图

可查看某一层Tilemap,方便检查和绘制,避免绘制错地图层

  1. 选择 Tilemap image
  2. 选择想要查看的层,其他层就会以灰色显示 image

打包图集

用于解决瓦片之间的空隙问题,如图: image 解决方案:

  1. Project 界面右键:Create-2D-Sprite Atlas 这个图集可以将我们添加的所有图片素材打包成一张完整的图片,这样Unity在引用时,就会忽略其中的缝隙,把他紧密的安排在一起
  2. 将需要打包图集的资源/资源文件夹拖拽进创建的 Atlas-ObjectsforPacking
  3. 设置 FilterMode:PointCompression(压缩):None
  4. 如果图片边有被切割到其它图片的现象,就需要设置 Padding:8,增加间隔
  5. 点击 Pack Preview

为障碍层添加碰撞体

添加碰撞组件

添加 TilemapCollider 2D Rigidbody 2D CompositeCollider 2D 三个组件,并配置一下两项设置,这样绘制的碰撞体就会合成一个整体 image

解决不贴合边的问题

选择需要修改的图片,进入 Sprite Editor,选择 Custom Physics Shape,点击 Generate,拉拽图片中的顶点 image image