The Tilemap Collider 2D component generates Collider shapes for Tiles on a Tilemap component on the same GameObject. When you add or remove Tiles on the Tilemap component, the Tilemap Collider 2D updates the Collider shapes during LateUpdate
. It batches multiple Tile changes together to ensure minimal impact on performance.
属性 | 功能 |
---|---|
Max Tile Change Count | The maximum number of Tile changes (such as adding/removing Tiles to the Tilemap) to accumulate before doing a full Collider rebuild instead of an incremental rebuild. A high number of accumulated changes can cause the incremental rebuild of the Tilemap Collider 2D to be slower than a full rebuild. Decrease this value to resolve this issue. |
Extrusion Factor | Set the amount (in Unity world space units) to extrude the Collider shape of each Tile. This minimizes the gaps between the Collider shapes of neighboring Tiles and brings them to within the minimum Vertex Distance set in the Composite Collider 2D, which can then compose the Tile Colliders together. This property is grayed out and disabled by default. It is only available when Used by Composite is enabled, and a Composite Collider 2D is attached to the same GameObject. |
Material | A Physics Material that determines properties of collisions, such as friction and bounce. |
Is Trigger | 选中此复选框可使 Tilemap Collider 2D 组件作为触发器运行。 |
Used by Effector | Select this check box to make the Tilemap Collider 2D be used by an attached Effector 2D. |
Used by Composite | Select this check box to make this Collider be used by an attached Composite Collider 2D. When Used by Composite is enabled, all properties except Offset are no longer available in the Tilemap Collider 2D component. Instead, the properties are controlled by the attached Composite Collider 2D component. |
Offset | Tilemap Collider 2D 几何形状的局部偏移。 |
The Collider shapes generated for each Tile in the Tilemap depend on the desired Collider type set in the Tile Asset’s properties. The component’s shape generation behavior corresponds to the Collider Types in the following ways:
碰撞体类型 | 功能 |
---|---|
无 | Tilemap Collider 2D 组件不会为此瓦片生成任何碰撞体形状。 |
Sprite | The Tilemap Collider 2D component generates a Collider shape based on the Sprite assigned to the Tile. The Collider shape is based on the Custom Physics Shape set for the Sprite. |
Grid | Tilemap Collider 2D 组件基于网格单元格的形状(由 Grid 组件的选定单元格布局 (Cell Layout) 确定)生成碰撞体形状。 |
You can use the Tilemap Collider 2D component together with the Composite Collider 2D component. When you add both components to the same Tilemap, Unity composites the Collider shapes of neighboring Tiles together. This smoothens the corners and edges between Collider shapes in neighboring Tiles.
将这两个组件一起使用会减少物理更新中涉及的单个碰撞体形状的数量,从而减少所需的计算量,并将对性能的影响降至最低。
If you require immediate changes to happen to the Collider, use Tilemaps.TilemapCollider2D.ProcessTilemapChanges to process them immediately. You can use Tilemaps.TilemapCollider2D-hasTilemapChanges to check if any processing is required.
在 Unity 2020.1 中添加了新的属性 在 2017.2 版中添加了瓦片地图 NewIn20172
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.