⭐ 물리 충돌 이벤트
● Collider와 Rigidbody 컴포넌트를 가진 오브젝트들이 서로의 영역에 들어오거나 나갈 때 발생하는 콜백 함수입니다.
● Collider 영역끼리 부딪혔는지, 실제 Rigidbody가 물리적으로 부딪혔는지에 따라 사용하는 이벤트가 나뉩니다.
○ Collider 영역끼리의 충돌 → 트리거(Trigger) 이벤트
○ 실제 물리적(Rigidbody) 충돌 → Collision 이벤트
💡Trigger 이벤트
● 단순 Collider 경계 영역에 침범했는지를 감지합니다.
○ 단순히 영역 침범만 체크, 물리적인 반응은 없음
○ 주변에 있는 아이템을 먹는 등의 기능 구현에 사용
● 영역 감지를 목적으로 사용합니다. (아이템 줍기, 지역(Zone) 체크 등)
Trigger 이벤트의 종류
| 메서드 | 설명 |
| OnTriggerEnter / OnTriggerEnter2D | Collider 영역에 들어왔을 때 1번 호출 |
| OnTriggerStay / OnTriggerStay2D | Collider 영역 안에 머무는 동안 매 프레임 호출 * 여기서 매 프레임은 FixedUpdate를 말함 |
| OnTriggerExit / OnTriggerExit2D | Collider 영역에서 빠져나올 때 1번 호출 |
Trigger 이벤트를 사용하기 위한 조건
● Trigger 이벤트를 사용하기 위해선 충돌하는 두 오브젝트가 갖추어야 할 조건이 있습니다.
○ 두 오브젝트 모두 Collider 컴포넌트 필요
○ 하나 이상의 오브젝트는 Rigidbody 컴포넌트 필요
○ 하나 이상의 Collider는 IsTrigger가 true여야 함
💡Collision 이벤트
● 실제 물리적인 충돌이 발생했는지를 감지합니다.
● 물리적인 충돌을 목적으로 사용합니다. (벽에 막힘, 바닥 착지 등)
Collision 이벤트의 종류
| 메서드 | 설명 |
| OnCollisionEnter / OnCollisionEnter2D | 처음 충돌했을을 때 1번 호출 |
| OnCollisionStay / OnCollisionStay2D | 충돌 중일 때 매 프레임 호출 * 여기서 매 프레임은 FixedUpdate를 말함 |
| OnCollisionExit / OnCollisionExit2D | 충돌에서 떨어질 때 1번 호출 |
Collision 이벤트를 사용하기 위한 조건
● Collision 이벤트를 사용하기 위해선 충돌하는 두 오브젝트가 갖추어야 할 조건이 있습니다.
○ 두 오브젝트 모두 Collider 컴포넌트 필요
○ 하나 이상의 오브젝트는 Rigidbody 컴포넌트 필요
○ 두 Collider 모두 IsTrigger가 false여아 함
'개발, IT > 유니티' 카테고리의 다른 글
| [Unity] UnityEvent(유니티 이벤트), UnityAction(유니티 액션) (0) | 2025.10.22 |
|---|---|
| [Unity] Coroutine (코루틴) (0) | 2025.10.20 |
| [Unity] 물리 충돌 처리를 위한 컴포넌트 (Collider / Rigidbody) (0) | 2025.10.19 |
| [Unity] 트랜스폼(Transform) (0) | 2025.10.16 |
| [Unity] 오브젝트의 생성과 파괴 (0) | 2025.10.15 |