Tilemap Collider 2D コンポーネントは、同じゲームオブジェクトの Tilemap コンポーネント上の タイル の コライダー 形状を生成します。Tilemap コンポーネント上のタイルを追加または削除すると、Tilemap Collider 2D によって、LateUpdate
中にコライダーの形状が更新されます。複数のタイル変更がまとめてバッチ処理されるので、パフォーマンスへの影響が最小限に抑えられます。
プロパティ | 機能 | |
---|---|---|
Max Tile Change Count | コライダーの (インクリメンタルリビルドではなく) フルリビルドを行う前に蓄積するタイル変更 (タイルマップのタイルの追加/削除など) の最大数を設定します。 ノート: 蓄積された変更の数が多いと、Tilemap Collider 2D のインクリメンタルリビルドが、フルリビルドよりも遅くなることがあります。この問題を解決するには値を下げてください。 |
|
Extrusion Factor | 各タイルのコライダー形状の押し出しの量を (Unity のワールド空間ユニットで) 設定します。これは、隣接タイルのコライダー形状間の隙間を最小限にし、Composite Collider 2D で設定された最小 Vertex Distance (頂点距離) の範囲内にどどめます。その上で Composite Collider 2D がタイルコライダーを合成することができます。 ノート: このプロパティは、デフォルトでは使用可能ではありません。使用可能にするには、Used by Composite の設定を有効にし、同じゲームオブジェクトに Composite Collider 2D をアタッチしてください。 |
|
Material | 摩擦やバウンスなどの、衝突のプロパティを決定する Physics Material 2D を選択します。 | |
Is Trigger | この Collider 2D をトリガーとして動作させたい場合に有効にします。有効にした場合、物理演算システムはこのコライダーを無視します。 | |
Used by Effector | 有効にすると、アタッチされている Effector 2D が、この Collider 2D を使用します。 | |
Used by Composite | アタッチされている Composite Collider 2D でこのコライダーを使用するには、この設定を有効にしてください。 Used by Composite を有効にすると、Tilemap Collider 2D コンポーネントで Offset 以外の全てのプロパティが使用できなくなり、代わりに、アタッチされた Composite Collider 2D コンポーネントが Collider プロパティを制御するようになります。 |
|
Offset | Collider 2D ジオメトリのローカルオフセット値を設定します。 | |
Layer Overrides | レイヤーのオーバーライド設定を展開します。 | |
Layer Override Priority | この Collider2D が、‘自身と他の Collision2D との接触が起こるべきかどうか’ について相反する決定が発生した場合の解決に使用する、決定の優先順位を割り当てます。詳細は API のページを参照してください。 | |
Include Layers | 他の Collider2D との接触が発生するかどうかを決定する際にこの Collider2D が含むべき、追加のレイヤーを選択します。詳細は API のドキュメントを参照してください。 | |
Exclude Layers | 他の Collider2D と接触するかどうかを決定する際にこの Collider2D が除外すべき、追加のレイヤーを選択します。詳細は API のドキュメントを参照してください。 | |
Force Send Layers | 他の Collider2D とのコリジョン接触中にこの Collider2D が力を送ることができるレイヤーを選択します。詳細は API のドキュメントを参照してください。 | |
Force Receive Layers | 他の Collider2D とのコリジョン接触中にこの Collider2D が力を受け取ることができるレイヤーを選択します。詳細は API のドキュメントを参照してください。 | |
Contract Capture Layers | この Collider2D と接触する他の Collider2D のレイヤーで、キャプチャされるものを選択します。詳細は API のドキュメントを参照してください。 | |
Callback Layers | この Collider2D が他の Collider2D との接触中に衝突を報告したりコールバックをトリガーするレイヤーを選択します。詳細は API のドキュメントを参照してください。 |
タイルマップの各タイル用に生成されるコライダー形状は、タイルアセット で設定する Collider Type (コライダータイプ) によって異なります。このコンポーネントの形状生成動作とコライダータイプの関係は、以下のようになっています。
Collider Type | 機能 |
---|---|
圧縮なし | Tilemap Collider 2D (2D タイルマップコライダー) コンポーネントは、このタイルのコライダー形状を生成しません。 |
スプライト | Tilemap Collider 2D コンポーネントは、タイルに割り当てられたスプライトに基づいてコライダー形状を作成します。コライダー形状は、スプライトに設定された Custom Physics Shape に基づきます。 |
Grid | Tilemap Collider 2D コンポーネントは、グリッドセルの形状に基づいたコライダー形状を作成します。グリッドセルは、Grid コンポーネントの Cell Layout で選択されたセルレイアウトによって決定されます。 |
Tilemap Collider 2D コンポーネントは、Composite Collider 2D コンポーネントと一緒に使用できます。これら両方のコンポーネントを同じタイルマップに加えると、Unity は隣接するタイルのコライダー形状を融合させます。これにより、隣接するタイルのコライダー形状間の角やエッジ/辺が滑らかになります。
この 2 つのコンポーネントを併用することで、物理計算の更新に関わる個々のコライダー形状の数が減り、必要な計算量が減り、パフォーマンスへの影響を最小限に抑えることができます。
コライダーを即座に変更する必要がある場合は、Tilemaps.TilemapCollider2D.ProcessTilemapChanges を使用して即時の処理を行ってください。Tilemaps.TilemapCollider2D-hasTilemapChanges を使用すると、何らかの処理が必要であるかどうか確認できます。
TilemapCollider2D
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.