版本: 2022.3
语言: 英语
选择工具
六边形瓦片图

Tilemap Collider 2D

Tilemap Collider 2D 组件为瓦片图组件中的瓦片生成 Collider 形状。当您在瓦片图组件上添加或删除瓦片时,Tilemap Collider 2D 会在 LateUpdate 期间更新 Collider 形状。它将多个瓦片更改组合在一起,以确保对性能的影响最小。

Tilemap Collider 2D 属性

Tilemap Collider 2D window
Tilemap Collider 2D 窗口
属性 功能
最大瓦片更改数 设置积累到进行完整 Collider 重建之前最多可发生的瓦片更改数(例如,将瓦片添加到/从瓦片图中删除)。

注意: 累积的更改数量过多可能导致 Tilemap Collider 2D 的增量重建速度比完整重建慢。降低此值以解决问题。
挤压试因数 设置延展量(以 Unity 世界的单位进行),以挤出每个瓦片的 Collider 形状。这最小化了相邻瓦片 Collider 形状之间的间隙,并将它们带到设置在 Composite Collider 2D 中的最小 Vertex Distance 以内,然后可以组合瓦片 Collider。

注意: 默认情况下此属性不可用。启用 用于组合,并为同一 GameObject 附上 Composite Collider 2D 时可使用此属性。
材质 选择确定 Physics Material 2D用于调整 2D 物理对象在发生碰撞时的摩擦和反弹更多
词汇表中查看
的属性,例如摩擦和反弹。
是触发器 启用此选项,如果希望此 2D Collider 作为触发器行为。当启用时,物理系统忽略此 Collider。
由效应对 启用此项,若要使2D碰撞体被附加的2D效应器使用。
用于组合 启用此项以使用此碰撞体与附加的2D组合碰撞体。

当启用用于组合后,在Tilemap 2D碰撞体组件和附加的2D组合碰撞体组件中,所有属性(除偏移量外)将不再可用,而是由2D组合碰撞体组件控制碰撞体属性。
偏移 设置Collider 2D几何形状的局部偏移值。
图层覆盖 展开以查看图层覆盖设置。
图层覆盖优先级 分配此Collider2D在解决与另一个Collision2D之间接触是否发生时的冲突决策时的决策优先级。有关更多信息,请参阅其API页面。
包含图层 选择此Collider2D在决定是否发生与另一个Collider2D的接触时应该包含的附加图层。有关更多信息,请参阅其API文档。
排除图层 选择此Collider2D在决定是否发生与另一个Collider2D的接触时应该排除的附加图层。有关更多信息,请参阅其API文档。
强制发送图层 选择此Collider2D在与其他Collider2D的碰撞接触中允许发送力量的图层。有关更多信息,请参阅其API文档。
强制接收图层 选择在此Collider2D与其他Collider2D的碰撞接触中可以接收力量的图层。有关更多信息,请参阅其API文档。
合约捕获图层 选择在与此Collider2D接触时会捕获的其他Collider2D图层。有关更多信息,请参阅其API文档。
回调图层 选择在与其他Collider2D接触时将报告碰撞或触发回调的图层。有关更多信息,请参阅其API文档。

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

Tilemap中每个Tile生成的碰撞体形状取决于在Tile资产属性中设置的所需碰撞体类型。组件的形状生成行为对应于以下碰撞体类型

碰撞体类型 功能
Tilemap 2D碰撞体组件不为此Tile生成任何碰撞体形状。
Sprite2D图形对象。如果你习惯了3D工作,Sprite几乎就是标准的纹理,但在开发过程中会有特殊的技巧来合并和管理sprite纹理以提高效率和便利性。 更多信息
参阅词汇表
Tilemap 2D碰撞体组件基于分配给Tile的Sprite生成碰撞体形状。碰撞体形状基于为Sprite设置的自定义物理形状
网格 Tilemap 2D碰撞体组件基于网格单元格的形状生成碰撞体形状,该形状由网格组件选择的单元格布局确定。

Tilemap和组合碰撞体

你可以将Tilemap 2D碰撞体组件与2D组合碰撞体组件一起使用。当你将两个组件添加到同一Tilemap中时,Unity将相邻Tile的碰撞体形状组合在一起。这使相邻Tile的碰撞体形状的角落和边缘更平滑。

同时使用组件可以减少物理更新中涉及的个体Collider形状数量,这降低了所需的计算量,并最大限度地减少了性能影响。

脚本API技巧

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

其他资源


TilemapCollider2D

选择工具
六边形瓦片图