Version: 2020.3
言語: 日本語
選択ツール
六角形タイルマップ

Tilemap Collider 2D

Tilemap Collider 2D コンポーネントは、同じゲームオブジェクト上の Tilemap コンポーネント上の タイルコライダー 形状を生成します。Tilemap コンポーネントにタイルを追加または削除すると、Tilemap Collider 2D は LateUpdate 中に Collider 形状を更新します。複数のタイル変更をまとめてバッチ処理し、パフォーマンスへの影響を最小限に抑えます。

Tilemap Collider 2D プロパティ

Tilemap Collider 2D ウィンドウ
Tilemap Collider 2D ウィンドウ
プロパティ 機能
Max Tile Change Count コライダーの増分の再作成ではなく、すべての再作成を行う場合に蓄積するタイルの変更 (タイルマップへのタイルの追加/削除など) の最大数。

蓄積された変更数が多いと、Tilemap Collider 2D の増分の再作成がすべてを再作成するよりも遅くなる場合があります。この問題を解決するには、この値を減らします。
Extrusion Factor 各タイルのコライダー形状を押し出す量 (Unity ワールドスペースユニット) を設定します。これにより、隣接するタイルのコライダー形状間のギャップを最小にし、Composite Collider 2D 設定された最小の Vertex Distance 内に収め、タイルコライダーを構成します。

このプロパティは、デフォルトではグレーアウトされ、無効になっています。このプロパティは、Used by Composite が有効で、Composite Collider 2D が同じゲームオブジェクトにアタッチされている場合にのみ有効です。
Material 摩擦や弾性など 衝突 のプロパティーを定義する物理マテリアル。
Is Trigger これを有効にすると、Tilemap Collider 2D がトリガーとして動作します。
Used by Effector これを有効にすると、Tilemap Collider 2D はアタッチされた Effectors 2D によって使用されます。
Used by Composite これを有効にすると、このコライダーはアタッチした Composite Collider 2D で使用されます。

Used by Composite が有効な場合、Offset 以外のすべてのプロパティは Tilemap Collider 2D コンポーネントで使用できなくなります。代わりに、プロパティは、アタッチされた Composite Collider 2D コンポーネントによって制御されます。
Offset Tilemap Collider 2D ジオメトリのローカルオフセット

コライダー生成に関するコライダータイプの影響

タイルマップの各タイルに対して生成されたコライダー形状は、タイルアセット で設定する Collider Type (コライダータイプ) によって異なります。コンポーネント形状の生成の動作は、次の方法でコライダータイプに対応します。

Collider Type 機能
None Tilemap Collider 2D コンポーネントは、このタイルのコライダー形状を生成しません。
Sprite Tilemap Collider 2D コンポーネントは、タイルに割り当てられたスプライトに基づいてコライダー形状を作成します。コライダー形状は、スプライトに設定した カスタムの物理形状 に基づきます。
Grid Tilemap Collider 2D コンポーネントは、グリッドセルの形状に基づいたコライダー形状を作成します。グリッドセルは、Grid コンポーネントの Cell Layout で選択されたセルレイアウトによって決定されます。

タイルマップと合成コライダー

Tilemap Collider 2D コンポーネントは、Composite Collider 2D コンポーネントと一緒に使うことができます。両方のコンポーネントを同じタイルマップに加えると、Unity は隣り合うタイルのコライダー形状を合成します。これにより、隣り合うタイルのコライダー形状間の角やエッジが滑らかになります。

この 2 つのコンポーネントを併用することで、物理計算の更新に関わる個々のコライダー形状の数が減り、必要な計算量が減り、パフォーマンスへの影響を最小限に抑えることができます。

スクリプト API のヒント

コライダーにすぐに変更を加える必要がある場合は、TilemapCollider2D.ProcessTilemapChanges を使って、すぐに処理を行います。TilemapCollider2D.hasTilemapChanges を使って、何らかの処理が必要かを確認できます。


  • Unity 2020.1 で追加された新しいプロパティ
  • タイルマップは 2017.2 で追加NewIn20172
選択ツール
六角形タイルマップ