Version: 2017.4
public static void IgnoreCollision (Collider2D collider1, Collider2D collider2, bool ignore= true);

パラメーター

collider1 collider2 と比較する最初のコライダー
collider2 collider1 と比較する2つ目のコライダー
ignore collider1collider2 のペア間の衝突/トリガーを検知するか無視するようにします

説明

collider1collider2 のペア間の衝突/トリガーを検知するか無視するようにします

選択されたコライダー間のいかなる衝突判定も無視します。つまり、すべての衝突判定とトリガー判定が起こらなくなります。まず最初に衝突レイヤーで2つのレイヤーが接触できるか確認し、その後接触が起こらないようにします。それらの処理の次に、特定のコライダーが作用しないようにします。

IgnoreCollision にはいくつかの制約があります:

1) 永続設定ではありません。つまり、 IgnoreCollision はシーン保存時にエディターに保存されません。 2) You can only apply the ignore collision to colliders in active game objects. When deactivating the collider the IgnoreCollision state will be lost and you have to call Physics2D.IgnoreCollision again. See Also: Physics2D.GetIgnoreCollision, Physics2D.IgnoreLayerCollision.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Transform bulletPrefab; void Start() { Transform bullet = Instantiate(bulletPrefab) as Transform; Physics2D.IgnoreCollision(bullet.GetComponent<Collider2D>(), GetComponent<Collider2D>()); } }