Trigger로 사용할 게임 오브젝트 추가
Hierachy 우클릭 > 2D Object > Sprites > Square 추가

Play >>
| AhDriver | Circle | Square | |
|---|---|---|---|
| Collider | O | O | O |
| Rigidbody 2D | O | O | X |
| 충돌 | AhDriver |
|---|---|
| Circle | Circle 튕김 (둘 다 Collider 존재, 둘 다 Rigidbody2D 존재) |
| Square | Square 안 튕김 (둘 다 Collider 존재, Square Rigidbody 없음.) |
Play 상태에서 Circle의 Rigidbody2D 삭제하고 충돌 해보기
⇒ 오브젝트가 움직이려면 Rigidbody2D가 있어야 함!
Play 상태에서 Square에 Collision 스크립트 추가
Square와 AhDriver가 충돌할 때 로그 확인 ⇒ Rigidbody가 없어서 못 움직이더라도, Collider가 있으면 충돌 감지 가능
만약 분홍색이 출발선이라면? 운전해서 통과해서 가야 하는 지점이라면?
⇒ 부딪혀서는 안되고 통과해야 함!
⇒ Collider.isTrigger 체크
Collider.isTrigger 체크가 되면 Collider는 Trigger처럼 작동
| AhDriver | Circle | Square | |
|---|---|---|---|
| Collider | O | ||
| isTrigger 꺼짐 | O | ||
| isTrigger 꺼짐 | O | ||
| isTrigger 켜짐 | |||
| Rigidbody 2D | O | O | X |
Play >>
Square를 통과해서 지나감
Square에 Collision을 추가하면 ⇒ ‘아야!’ 로그가 뜨지 않음.
⇒ OnCollisionEnter2D()함수 동작X
OnTriggerEnter2D() : Trigger가 작동하는 함수 추가

Play >>
로그가 나오는 것 확인
| 구분 | 설명 |
|---|---|
| Collision (충돌) | 실제로 물리적으로 "쿵!" 부딪힘. 두 Collider가 모두 isTrigger가 꺼짐(false) |
| Trigger (트리거) | 부딪히지 않고 "겹침"만 감지. Collider 중 하나라도 isTrigger가 켜짐(true) |
| 함수 이름 | 언제 호출됨 | 사용 조건 |
|---|---|---|
OnCollisionEnter2D |
처음 충돌할 때 | Collider2D + Rigidbody2D |
OnCollisionStay2D |
충돌 상태가 계속될 때 | 위와 동일 |
OnCollisionExit2D |
충돌이 끝났을 때 (떨어질 때) | 위와 동일 |
| 함수 이름 | 언제 호출됨 | 사용 조건 |
|---|---|---|
OnTriggerEnter2D |
처음 겹쳤을 때 | Collider2D 중 하나 이상이 isTrigger=true |
OnTriggerStay2D |
겹친 상태가 유지될 때 | 위와 동일 |
OnTriggerExit2D |
겹침이 끝났을 때 | 위와 동일 |