게임 개발/유니티

Collider, OnTrigger, OnCollision

FlowTree 2020. 2. 19. 05:53
반응형

Collider

Collider 컴포넌트는 물리 충돌 처리를 위한 오브젝트의 형태를 정의합니다. 콜라이더는 보이지 않는 요소이므로 오브젝트의 메시와 정확히 동일한 모양일 필요는 없으며, 실제로는 게임플레이 시에는 대략적인 근사치로도 크게 구분되지 않으며 더 효율적입니다.

OnTrigger

Collider의 Is Trigger 속성이 켜져있을 때 발생한다.

OnTrigger (Collider col) OnTrigger들은 Collider를 사용한다.

 

OnTriggerEnter : Trigger 대상과 접촉되었을 때 처리

OnTriggerStay : Trigger 대상과 접촉 중일 때(관통 가능) 처리

OnTriggerExit : Trigger 대상과 벗어났을 때 처리

OnCollision

Kinematic 속성이 꺼져있을 때 발생한다. Kinematic이 켜져 있으면 내부 물리 연산을 안해서 충돌이 발생하지 않는다.

물리 기반으로 충돌 처리를 하여 충돌할 오브젝트 둘 다 Collider가 필요하고, 그 중 하나Rigidbody가 있어야 한다.

OnCollision (Collision col) OnCollision들은 Collision을 사용한다.

 

OnCollisionEnter : 대상과 접촉되었을 때 처리

OnCollisionStay  대상과 접촉 중일 때 처리

OnCollisionExit : 대상과 접촉이 끝났을 때 처리

OnTrigger vs OnCollision

OnTrigger : 물리 연산 X, 관통 가능, Collision 보다 연산이 적어서 효율적

OnCollision : 물리 연산을 통해 충돌 처리, 관통 X, 많이 사용하면 부하가 많이 걸린다고 한다.

 

반응형