Unity OnTrigger 충돌 이벤트

SourStar15·2025년 5월 27일

Unity

목록 보기
1/4
post-thumbnail

OnTrigger 이벤트 콜백

Trigger함수는 총 3가지가 있습니다.

  • OnTriggerEnter
  • OnTriggerStay
  • OnTriggerExit

OnTriggerEnter(Collider other)

Collider가 Trigger 영역에 처음 들어올 때만 신호를 보내는 역할입니다.
흔히 게임에서 열쇠에 다가가 자동으로 아이템을 먹을때 사용하는 용도로 생각하면 좋을 것 같습니다.

OnTriggerStay(Collider other)

Collider가 Trigger 영역 안에 머무르는 동안 매 프레임 마다 호출됩니다.
Stay는 아이템을 선별해 먹게 할 수 있게 해주는 용도라고 생각합니다.

OnTriggerExit(Collider other)

Collider가 Trigger 영역에서 벗어날때 한번 호출됩니다.
감지 해제, 문이 닫히는 트리거등 다양하게 사용할 수 있습니다.

실제사용

공포게임 열쇠 아이템 획득

열쇠를 먹고 탈출하게 되는 공포게임을 제작중인데 열쇠 충돌 이벤트를 OnTriggerEnter 함수로 구현하게 되었습니다.

 void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Key")
        {
            //Debug.Log("Get Key");
            Destroy(other.gameObject);	//콜라이더에 닿을 경우 오브젝트 삭제
            Keycount++;
        }
    }

해당 코드는 플레이어 코드안에 넣어 놨습니다.
if 조건문을 통해 태그가 "Key"인 콜라이더에 닿았을 경우 아래 실행문이 실행되는 구조입니다.


열쇠 오브젝트에 콜라이더를 추가하고 해당 콜라이더의 Is Trigger를 체크해줍니다. 체크하지않으면 트리거 함수가 실행되지 않습니다.


위에 사진처럼 Tag를 Key(또는 원하는 변수)로 바꿔주어야 하며 이때 코드안에 태그이름을 사용할 경우 해당 인스펙터와 같은 명칭으로 해주어야 합니다.

if(other.Tag == "Key")

실제 게임 오브젝트 태그와 코드내의 태그이름이 같은걸 확인 할 수 있습니다.

profile
banana92714@gmail.com 게임클라이언트 개발자 지망생

0개의 댓글