본문 바로가기

개발 이야기

[Unity] 빠른 오브젝트 충돌 체크시!

반응형

Unity에서 오브젝트 간의 충돌 체크 시 너무 빠른 오브젝트는

충돌 체크가 되지 않고 지나치는 경우가 있다!

이럴때 충돌체 중  Rigidbody2D (Rigidbody 동일함)를 포함한 오브젝트의

 

Collision Detection 값을 기본 Discrete 가 아닌!!!! 

Continuous 로 설정하면 해결된다!

※ Continuous : Collision Detection  Continuous 로 설정하면 업데이트할 때 리지드바디 2D와 콜라이더 2D가 포함된 게임 오브젝트가 서로 통과하지 않습니다. 대신 Unity는 콜라이더 2D의 첫 번째 충돌 포인트를 산출하고 게임 오브젝트를 거기로 이동시킵니다. 이 방식은 Discrete 보다 더 많은 CPU 시간을 사용합니다.

 

※ transform.Translate를 이용해 물체를 이동시 충동 체크를 못하고 통과하는 현상이 일어난다. 위의 방법을 적용시 CPU 사용량이 부담된다하면 rigidbody.velocity를 이용하여 오브젝트를 이동시키면 해결된다!

반응형