SuperAPI AI 工具集

unity-2d-tilemap

通用与其它

查看项目

更新于 10-15 18:52

技能介绍

用途:在 Unity 中搭建 2D 瓦片地图,涵盖场景层级组织、自动拼接、碰撞优化与程序化生成。

层级组织:一个 Grid 作为父节点,下面挂多个 Tilemap 子节点(背景、地面、装饰等),每个 Tilemap 可单独设置 Sorting Layer 与 Order in Layer。地面 Tilemap 通常搭配 TilemapRenderer、TilemapCollider2D、静态 Rigidbody2D 与 CompositeCollider2D。

图块类型:Tile(单格单图)、Animated Tile(按速度循环帧,适合河流、火把)、Rule Tile(按邻居自动选图,处理边缘、拐角、孤立岩石)、Random Tile(从列表随机取图增加变化)。Rule/Animated/Random/Hexagonal Rule 需要 com.unity.2d.tilemap.extras 包。

Rule Tile:在检视面板用 3×3 的 Filled/Empty/Don't Care 矩阵定义规则,按上下左右邻居占用情况自动选择精灵。

Tile Palette:通过 Window > 2D > Tile Palette 打开,拖入精灵会自动生成 Tile,可用 Default、Random、Animated、Custom 画笔绘制。

性能优化:逐格碰撞体会产生大量物理对象,应开启 TilemapCollider2D 的 Used By Composite,配合静态 Rigidbody2D 与 CompositeCollider2D(Geometry Type 选 Polygons 或 Outlines),合并为单个多边形碰撞体。

网格类型:Grid 的 Cell Layout 可选 Rectangle(俯视/横版)、Hexagon 尖顶/平顶(战棋、4X)、Isometric 与 Isometric Z as Y(2.5D)。等距场景需注意相机抗锯齿与多格精灵的 Sorting Group。

程序化生成:可用 Tilemap.SetTile 逐格写入,或用 SetTilesBlock 批量写入以提升大图性能;示例代码演示随机洞穴生成,并提示后续可接元胞自动机平滑。

反模式:逐格碰撞体无合并、在装饰图块上绘制碰撞、用单个超大 Tilemap 承载开放世界、逐格 SetTile 做程序化生成、同一 Grid 混用等距与矩形。

生产检查项:按用途拆分 Tilemap、碰撞层使用 Composite Collider 2D、用 Rule Tile 自动拼接地形、Tile Palette 存为资产并纳入版本控制、大地图分块流式加载、统一排序策略。

限制:未提供具体性能数据、版本要求与完整使用步骤。