Version: 2023.2
언어: 한국어
OnCollision 이벤트
트리거 콜라이더 생성 및 설정

OnTrigger 이벤트

트리거 콜라이더는 충돌을 일으키지 않습니다. 대신 해당 콜라이더를 통과하는 다른 콜라이더를 감지하고 이벤트를 시작하는 데 사용할 수 있는 함수를 호출합니다.

트리거 사용 예시는 다음과 같습니다.

  • 플레이어가 복도 끝의 특정 영역에 도달하면 시네마틱 컷씬을 활성화합니다.
  • 플레이어 캐릭터가 걸어서 미닫이문 앞의 공간에 진입하면 문을 여는 애니메이션을 트리거합니다.
  • 발사체가 멀리 있는 트리거 콜라이더를 통과하면 발사체를 비활성화하거나 파괴합니다.

트리거 콜라이더 작업에는 주로 다음 API 함수가 사용됩니다.

  • Collider.OnTriggerEnter: 트리거 콜라이더가 다른 콜라이더와 처음 접촉하면 Unity가 이 함수를 호출합니다.
  • Collider.OnTriggerStay: 트리거 콜라이더 내부에서 다른 콜라이더가 감지되면 Unity가 프레임당 한 번씩 트리거 콜라이더에서 이 함수를 호출합니다.
  • 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 이벤트
트리거 콜라이더 생성 및 설정