トリガーコライダーは衝突を発生させません。代わりに、それらを通過する他のコライダーを検出し、イベントの開始に使用できる関数を呼び出します。
トリガーの使用例は以下のとおりです。
トリガーコライダーの作業には、主に以下の API 関数を使用します。
Collider.OnTriggerEnter: Unity はトリガーコライダーが他のコライダーと最初に接触したときにこの関数を呼び出します。Collider.OnTriggerStay: Unity は、トリガーコライダー内で別のコライダーを検出すると、フレームごとに 1 回この関数を呼び出します。Collider.OnTriggerExit: Unity はトリガーコライダーが他のコライダーとの接触を終了したときにこの機能を呼び出します。以下の例では、Unity が各機能を呼び出すときにコンソールにメッセージを表示します。
using UnityEngine;
using System.Collections;
public class DoorObject : MonoBehaviour
{
// “other” refers to the collider on the GameObject inside this trigger
void OnTriggerEnter (Collider other)
{
Debug.Log ("A collider has entered the DoorObject trigger");
}
void OnTriggerStay (Collider other)
{
Debug.Log ("A collider is inside the DoorObject trigger");
}
void OnTriggerExit (Collider other)
{
Debug.Log ("A collider has exited the DoorObject trigger");
}
}
OnTrigger イベントの実用的な使用例については、コライダーイベントのスクリプト 例を参照してください。