
사진이 작아서 잘 안보이지만 유니티 게임 오브젝트는 (3D의 경우) ‘Collider’ 컴포넌트를 가진다. 2D의 경우 Add Conponent 를 통해서 추가하면 된다. (Add Component -> Physics -> 원하는 Collider)
‘Collider’ 컴포넌트를 가지고 있으면 충돌처리를 할 수 있다.

‘Collider’ 컴포넌트의 ‘Is Trigger’ 가 체크(true)되있으면 다른 게임오브젝트들이 통과할 수 있다.
이제부터 설명할 함수들은 조건이 성사되면 유니티에서 실행시켜주는 함수들이다.
void OnTriggerEnter(Collider other) { // 원하는 코드 작성 }
OnTriggerEnter 의 경우 Trigger 상태인 게임 오브젝트와 충돌한 순간에 실행된다.
void OnTriggerExit(Collider other) { // 원하는 코드 작성 }
OnTriggerExit 의 경우 Trigger 상태인 게임 오브젝트와 충돌이 해제된 순간에 실행된다.
void OnTriggerStay(Collider other) { // 원하는 코드 작성 }
OnTriggerStay 의 경우 Trigger 상태인 게임 오브젝트와 충돌 중인 경우 매 프레임 실행된다.
void OnCollisionEnter(Collision collision) { // 원하는 코드 작성 }
void OnCollisionExit(Collision collision) { // 원하는 코드 작성 }
void OnCollisionStay(Collision collision) { // 원하는 코드 작성 }
OnCollision 함수들은 Trigger 상태가 아닌 게임 오브젝트와 충돌했을 때 실행된다. 실행되는 조건은 위 함수들과 같다.

이런 함수들을 사용하면 제작자가 원하는 게임 오브젝트가 아닌 다른 오브젝트에도 함수가 실행될 수 있다.
이럴 때 Tag 를 사용하여 분류한다. 간단한 조건문으로 함수가 실행되는 순간을 제어할 수 있기 때문.