Unity3D:瓦片地图 2D 碰撞体

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

瓦片地图 2D 碰撞体 (Tilemap Collider 2D)

图块映射碰撞体 2D 组件为同一游戏对象上的图块组件上的图块生成碰撞体形状。在“图块地图”组件上添加或删除“图块”时,“图块映射碰撞体 2D ”会在 期间更新“磁贴体”形状。它将多个磁贴更改批处理在一起,以确保对性能的影响最小。LateUpdate

Tilemap Collider 2D 属性

Tilemap Collider 2D 窗口
Tilemap Collider 2D 窗口
属性功能
Max Tile Change Count在执行完全碰撞体重建(而不是增量重建)之前要累积的最大图块更改数(例如在瓦片地图中添加/删除图块)。

大量累积的更改可能会导致 Tilemap 碰撞体 2D 的增量重建速度比完全重建慢。减小此值可解决此问题。
Extrusion Factor设置数量(以 Unity 世界空间单位为单位)以拉伸每个图块的碰撞体形状。这样可以最大程度地减少相邻图块的碰撞体形状之间的间隙,并使它们达到复合碰撞体 2D 中设置的最小顶点距离,然后复合碰撞体可以将图块碰撞体组合在一起。

默认情况下,此属性灰显并处于禁用状态。仅当启用了“由合成使用”并且复合碰撞体 2D 附加到同一游戏对象时,它才可用。
Material一种物理材质,用于确定碰撞的属性,例如摩擦和反弹。
Is Trigger选中此复选框可使 Tilemap Collider 2D 组件作为触发器运行。
Used by Effector选中此复选框可使附加的 2D 效果器使用瓦片地图碰撞体 2D。
Used by Composite选中此复选框可使附加的 2D 复合碰撞体使用此碰撞体。启用“由复合使用”后,除“偏移”之外的所有属性在 Tilemap 碰撞体 2D 组件中将不再可用。

相反,属性由附加的复合碰撞体 2D 组件控制。
OffsetTilemap Collider 2D 几何形状的局部偏移。

碰撞体类型对碰撞体生成的影响

为图块地图中的每个磁贴生成的碰撞体形状取决于图块资源属性中设置的所需碰撞体类型。组件的形状生成行为通过以下方式与碰撞体类型相对应:

碰撞体类型功能
Tilemap Collider 2D 组件不会为此瓦片生成任何碰撞体形状。
Sprite图块映射碰撞体 2D 组件根据分配给图块的精灵生成碰撞体形状。碰撞体形状基于为精灵设置的自定义物理形状
GridTilemap Collider 2D 组件基于网格单元格的形状(由 Grid 组件的选定单元格布局 (Cell Layout) 确定)生成碰撞体形状。

瓦片地图和复合碰撞体

您可以将 2D 瓦片地图碰撞体组件与复合碰撞体 2D 组件一起使用。将两个组件添加到同一图块贴图时,Unity 会将相邻图块的碰撞体形状合成在一起。这将平滑相邻图块中碰撞体形状之间的角和边缘。

将这两个组件一起使用会减少物理更新中涉及的单个碰撞体形状的数量,从而减少所需的计算量,并将对性能的影响降至最低。

脚本 API 提示

如果需要立即对碰撞体进行更改,请使用 Tilemaps.TilemapCollider2D.ProcessTilemapChanges 立即处理它们。您可以使用 Tilemaps.TilemapCollider2D-hasTilemapChanges 来检查是否需要任何处理。

此文由3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D:选择工具 (mvrlink.com)

下一篇:Unity3D:六边形瓦片地图 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号