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