Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Physics2D.IgnoreCollision

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function IgnoreCollision(collider1: Collider2D, collider2: Collider2D, ignore: bool = true): void;
public static void IgnoreCollision(Collider2D collider1, Collider2D collider2, bool ignore = true);

パラメーター

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

説明

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

選択されたコライダー間のいかなる衝突判定も無視します。つまり、すべての衝突判定とトリガー判定が起こらなくなります。まず最初にコリジョンレイヤーで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>()); } }