반응형
✔ OnTrigger, OnCollision 함수 호출 설정 방법
차이점 비교, Collider 호출 함수
자주 사용하는 함수인데 한번씩 왜 함수가 동작을 안하지!?
하는 경우가 종종있다.
함수가 호출되기 위한 조건이 있는데 잊어버리기 쉽다.
먼저 두 이벤트의 차이부터 알아보자.
OnTrigger와 OnCollision 모두 유니티에서 충돌을 체크하기 위한 함수이다.
◆ 차이 비교
▶ OnTrigger
- isTrigger를 통해 물체간에 관통해야만함
(자동차가 물건을 부딪히고 물건이 날아가는게 불가능)
- 물리 연산을 하지 않는다
- Collision 보다 연산이 적음
- 총알처럼 어떠한 물체와 부딪혔을때 사라지거나 텔레포트하거나 할때 활용
▶ OnCollision
- 물체 관통이 불가능
(말그대로 현실과 비슷함. 자동차가 물건을 부딪히면 물리적인힘으로 날아감)
- 물리 연산을 통하여 총돌처리를 하기 때문에 비교적 연산이 높음
- 레이싱이나 당구게임 등 물리적인 작용이 필요할때 활용
◆ 함수가 호출되기 위한 설정 및 조건
OnTrigger | OnCollision |
Rigidbody 컴포넌트가 포함되어있어야한다. (충돌하는 두개의 오브젝트 중에서 최소 1개 이상) | |
Collider 컴포넌트가 포함되어있어야한다. (충돌하는 모든 오브젝트) | |
두 오브젝트가 충돌 시 둘중 하나는 Collider에 isTrigger 체크 필요 | 모든 충돌 대상 객체 Collider에 isTrigger 무조건 비활성화 |
충돌하는 두 오브젝트 중에서 Rigidbody > IsKinematic 비활성화된 오브젝트가 하나라도 있어야함. |
◆ 주요 호출 함수
OnTrigger | OnCollision | 설명 |
OnTriggerEnter | OnCollisionEnter | 두 물체가 부딪혔을때 호출 |
OnTriggerStay | OnCollisionStay | 물체가 충돌 중인 경우 계속 호출 |
OnTriggerExit | OnCollisionExit | 물체가 Enter 후 빠져나갔을때 호출 |
감사합니다.
반응형
'Programming > Unity' 카테고리의 다른 글
[Unity] 유니티에서 Mysql, MariaDB 연동하고 조회하기 (739) | 2022.09.23 |
---|---|
[Unity, C#] Serialize를 활용하여 데이터를 파일로 저장하기 (List, Dictionary, Array, Class) (4) | 2022.09.22 |
[Unity] [해결] WebGL 빌드 시 나타나는 오류 - IL2CPP (2) | 2022.06.22 |
[Unity] 유니티 개발시 에디터 필수 조작 편의 Tips (936) | 2022.04.06 |
[Unity] 런타임에서 프로젝트 관리 기능을 만들기! (263) | 2022.03.25 |
댓글