Version: Unity 6.0 (6000.0)
言語 : 日本語
OnCollision イベント
トリガーコライダーの作成と設定

OnTrigger イベント

トリガーコライダーは衝突を発生させません。代わりに、それらを通過する他のコライダーを検出し、イベントの開始に使用できる関数を呼び出します。

トリガーの使用例は以下のとおりです。

  • プレイヤーが廊下の端の特定のエリアに到達したら、映画的なカットシーンをアクティベートする。
  • プレイヤーキャラクターが引き戸の正面のスペース内を歩くと、アニメーションがトリガーされ扉が開く。
  • 遠距離にあるトリガーコライダーを砲弾が通過したときに、砲弾を無効にするか破壊する。

トリガーコライダーの作業には、主に以下の 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 イベントの実用的な使用例については、コライダーイベントのスクリプト 例を参照してください。

OnCollision イベント
トリガーコライダーの作成と設定