collider1 |
collider2 と比較する最初のコライダー |
collider2 |
collider1 と比較する2つ目のコライダー |
ignore |
collider1 と collider2 のペア間の衝突/トリガーを検知するか無視するようにします |
collider1
と collider2
のペア間の衝突/トリガーを検知するか無視するようにします
選択されたコライダー間のいかなる衝突判定も無視します。つまり、すべての衝突判定とトリガー判定が起こらなくなります。まず最初にコリジョンレイヤーで2つのレイヤーが接触できるか確認し、その後接触が起こらないようにします。それらの処理の次に、特定のコライダーが作用しないようにします。
IgnoreCollision にはいくつかの制約があります:
1) 永続設定ではありません。つまり、 IgnoreCollision はシーン保存時にエディターに保存されません。
2) 有効なゲームオブジェクトにしか IgnoreCollision を適用できません。
コライダーを無効にすると Physics2D.IgnoreCollision の設定はリセットされるので再設定する必要があります。
See Also: Physics2D.GetIgnoreCollision, Physics2D.IgnoreLayerCollision.
// Instantiate a bullet and make it ignore collisions with this object.
var bulletPrefab : Transform;
function Start () { var bullet = Instantiate(bulletPrefab) as Transform; Physics2D.IgnoreCollision(bullet.GetComponent.<Collider2D>(), GetComponent.<Collider2D>()); }
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>()); } }