두 함수는 모두 충돌 체크 기능을 한다.
각 필요한 상황에 따라 함수 뒤에 Enter, Stay, Exit를 덧붙여 사용하면 되고 두 함수는 같은 기능을 제공한다.
OnCollisionEnter, OnTriggerEnter | OnCollisionStay, OnTriggerStay | OnCollisionExit, OnTriggerExit |
Collider간 최초 충돌시 호출 | Collider간 충돌시 매프레임 호출 | Collider간 충돌이탈시 호출 |
OnTrigger함수와 OnCollision함수는 모두 충돌하는 두 물체에 Collider컴포넌트가 존재해야 한다.
그러면 두 함수에는 무슨 차이가 있는가 의문점이 들 것이다.
OnTrigger함수는 두 물체중 한 개 이상의 Collider컴포넌트의 IsTrigger가 활성화 되어있어야 한다.
반면 OnCollision함수는 IsTrigger가 비활성화 되어있어야 한다.
IsTrigger는 활성화할 경우, 충돌 감지는 되지만 물리적인 충돌은 발생하지 않게 된다.
따라서 총이나 검의 공격 Collider같은 물리적 충돌이 필요없는 경우엔 OnTrigger함수를, 차와 차가 부딫히거나 차와 자동차가 부딫히는 등의 물리적 충돌이 필요한 경우엔 OnCollision함수를 사용한다.
'Unity, C#' 카테고리의 다른 글
[Unity C#] Overlap (0) | 2023.04.20 |
---|---|
[Unity C#] 코루틴(Coroutine) (0) | 2023.02.14 |
[Unity C#] Addressables Asset System (어드레서블 에셋 시스템) (0) | 2022.11.29 |
[C#] 암호화, 복호화 (0) | 2022.11.07 |
[Unity C#] 변수와 자료형, 대입 연산자, 조건문, 반복문 (0) | 2022.10.11 |
두 함수는 모두 충돌 체크 기능을 한다.
각 필요한 상황에 따라 함수 뒤에 Enter, Stay, Exit를 덧붙여 사용하면 되고 두 함수는 같은 기능을 제공한다.
OnCollisionEnter, OnTriggerEnter | OnCollisionStay, OnTriggerStay | OnCollisionExit, OnTriggerExit |
Collider간 최초 충돌시 호출 | Collider간 충돌시 매프레임 호출 | Collider간 충돌이탈시 호출 |
OnTrigger함수와 OnCollision함수는 모두 충돌하는 두 물체에 Collider컴포넌트가 존재해야 한다.
그러면 두 함수에는 무슨 차이가 있는가 의문점이 들 것이다.
OnTrigger함수는 두 물체중 한 개 이상의 Collider컴포넌트의 IsTrigger가 활성화 되어있어야 한다.
반면 OnCollision함수는 IsTrigger가 비활성화 되어있어야 한다.
IsTrigger는 활성화할 경우, 충돌 감지는 되지만 물리적인 충돌은 발생하지 않게 된다.
따라서 총이나 검의 공격 Collider같은 물리적 충돌이 필요없는 경우엔 OnTrigger함수를, 차와 차가 부딫히거나 차와 자동차가 부딫히는 등의 물리적 충돌이 필요한 경우엔 OnCollision함수를 사용한다.
'Unity, C#' 카테고리의 다른 글
[Unity C#] Overlap (0) | 2023.04.20 |
---|---|
[Unity C#] 코루틴(Coroutine) (0) | 2023.02.14 |
[Unity C#] Addressables Asset System (어드레서블 에셋 시스템) (0) | 2022.11.29 |
[C#] 암호화, 복호화 (0) | 2022.11.07 |
[Unity C#] 변수와 자료형, 대입 연산자, 조건문, 반복문 (0) | 2022.10.11 |