Agent Skills
返回列表
💻

Unity 瓦片地图工坊

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/unity-tilemap-2d-804l。

技能介绍

要解决的具体问题

在 Unity 中搭建 2D 关卡时,常见痛点包括:手工放置每个瓦片变体耗时且容易出错;每个瓦片单独碰撞体导致性能下降和接缝问题;世界坐标与单元格坐标混淆导致逻辑错误;多层 Tilemap 排序混乱导致渲染层级错误;Rule/Animated Tiles 在脚本编辑后不刷新导致显示问题。

技能如何工作

这个技能通过以下方式解决上述问题:

  • Grid + Tilemap 系统:创建 Grid 和多个 Tilemap 子对象,支持背景、地面、前景等分层,并可设置每个 TilemapRenderer 的排序属性。
  • Tile Palette 工具:通过 Window → 2D → Tile Palette 导入切片后的精灵表,生成 Tile 资产并使用画笔工具进行绘制。
  • 碰撞体优化:在固体层添加 TilemapCollider2D,配合 CompositeCollider2D 和静态 Rigidbody2D,启用 Used By Composite 实现单个合并碰撞体,消除接缝并提升性能。
  • Rule Tiles 自动贴图:使用 2D Tilemap Extras 包中的 RuleTile,根据边缘和角落自动选择正确的精灵,避免手工放置每个变体。
  • 运行时脚本编辑:通过 Vector3Int 单元格坐标操作 Tilemap,支持 SetTile、GetTile、SetTilesBlock 等方法,并利用 WorldToCell/CellToWorld 进行坐标转换。
  • 验证流程:在 Play 模式下检查碰撞体、排序顺序和批量编辑后的刷新操作。

适用边界与注意点

  • 不适用于关卡设计实践(如节奏、布局原则),请参考 level-design 技能。
  • 不适用于 3D 瓦片/网格放置,Unity 原生 3D 工具(ProBuilder/网格画笔)更合适。
  • 不适用于平台游戏角色移动,请使用 platformer 或 unity-physics 技能。
  • RuleTile 类型未找到时,需通过 Package Manager 安装 com.unity.2d.tilemap.extras 包。
  • 每个瓦片单独碰撞体性能差,必须使用 CompositeCollider2D 合并。
  • 世界坐标与单元格坐标易混淆,务必使用 WorldToCell/CellToWorld 转换。
  • 多层 Tilemap 需显式设置 Sorting Layer 和 Order in Layer,避免渲染层级错误。
  • Rule/Animated Tiles 脚本编辑后需刷新,少量修改用 RefreshTile(cell),整图重建才用 RefreshAllTiles()。

使用场景

  • 在Unity 6中创建Grid+Tilemap结构,分层绘制2D关卡的背景、地面和前景元素
  • 为2D关卡的固体层添加TilemapCollider2D与CompositeCollider2D,合并碰撞体以提升性能并消除接缝
  • 使用Rule Tiles自动匹配边缘和角落的瓦片变体,避免手工放置每个瓦片的繁琐操作
  • 通过SetTile/SetTilesBlock等API在运行时修改瓦片地图,实现程序化关卡生成或动态编辑

适合人员

  • Unity 2D游戏开发者需要快速搭建关卡布局和碰撞体
  • 技术美术需要优化瓦片渲染层级和碰撞体性能
  • 关卡设计师需要通过Rule Tiles加速2D瓦片关卡迭代