Version: 2017.1
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>()); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961