Version: 2023.2
언어: 한국어
트리거 콜라이더 생성 및 설정
충돌 검사

콜라이더 이벤트 스크립트 예시

다음 예시는 충돌 함수에서 이벤트를 호출하는 방법을 보여 줍니다. 각각 OnCollisionEnterOnTriggerEnter를 사용하지만, 개념은 모든 OnCollisionOnTrigger 함수에 적용됩니다.

예시: 게임 오브젝트 프로퍼티마다 다른 이벤트

이름이나 태그 등 다른 콜라이더 관련 게임 오브젝트의 프로퍼티에 따라 다른 이벤트를 트리거하도록 스크립트를 설정할 수 있습니다. 예를 들어 일부 콜라이더는 이벤트를 생성하도록 허용하고 다른 콜라이더는 허용하지 않으려는 경우에 유용합니다.

다음 예시에서는 이 콜라이더에 접촉한 다른 콜라이더의 태그가 ’Player’인지 ’Enemy’인지에 따라 다른 메시지를 출력합니다.

using UnityEngine;
using System.Collections;

public class DoorObject : Monobehaviour
{
    private void OnCollisionEnter(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            Debug.Log ("The player character has touched the door.")
        }

        if (other.CompareTag("Enemy"))
        {
            Debug.Log ("An enemy character has touched the door!")
        }
    }
}

예시: 물리 업데이트마다 이벤트 메시지 전송

다음 예시에서는 트리거 콜라이더를 사용하여 호버패드를 생성합니다. 트리거 콜라이더는 호버패드 게임 오브젝트 바로 위에 위치하며, 트리거 내의 모든 게임 오브젝트에 위쪽으로 상수 힘을 가합니다.

using UnityEngine;
using System.Collections;

public class HoverPad : MonoBehaviour
{
    // define a value for the upward force calculation
    public float hoverForce = 12f;

    // whenever another collider is in contact with this trigger collider…
    void OnTriggerStay (Collider other)
    {
        // …add an upward force to the Rigidbody of the other collider.
        other.rigidbody.AddForce(Vector3.up * hoverForce, ForceMode.Acceleration) 
    }
}
트리거 콜라이더 생성 및 설정
충돌 검사