Unity 메시 콜라이더 가이드

메시 콜라이더란?

메시 콜라이더는 메시 에셋을 기반으로 하여 충돌체를 작성하는 컴포넌트입니다. 복잡한 메시에서 세밀한 충돌 검사를 수행할 수 있어, 기본 프리미티브보다 더 정밀한 충돌 감지를 가능하게 합니다.

주요 기능

프로퍼티 설명
Convex 활성화 시, 메시 콜라이더가 다른 메시 콜라이더와 충돌할 수 있게 합니다.
Is Trigger 활성화 시, 물리 엔진이 이 콜라이더를 무시하고 이벤트를 트리거합니다.
Cooking Options 메시를 처리하는 방법을 설정합니다.
Material 콜라이더의 상호작용 방법을 결정하는 물리 재료입니다.
Mesh 충돌에 사용할 메시를 지정합니다.

메시 쿠킹

메시 쿠킹은 일반 메시를 물리 엔진에 사용할 수 있는 형태로 변환합니다. Unity는 충돌 검사 전 모든 메시를 쿠킹합니다. 메시 생성 시 효율성을 높이기 위한 다양한 옵션이 제공됩니다.

쿠킹 옵션

옵션 설명
None 모든 쿠킹 옵션을 비활성화합니다.
Everything 모든 쿠킹 옵션을 활성화합니다.
Cook for Faster Simulation 물리 엔진이 쿠킹된 메시를 최적화하여 성능을 향상시키도록 합니다.
Enable Mesh Cleaning 손상된 삼각형과 지오메트리 결함을 제거하여 충돌 검사에 효과적인 메시를 생성합니다.
Weld Colocated Vertices 동일한 위치에 있는 버텍스를 결합하여 충돌 피드백을 개선합니다.
Use Fast Midphase 중간 단계 알고리즘을 통해 제한된 시간 안에 더 빠른 액세스를 가능하게 합니다.

사용 시 주의사항

  1. 메시 콜라이더는 Rigidbody 컴포넌트를 가진 게임 오브젝트에서만 효과적입니다.
  2. 메시의 읽기/쓰기가 가능해야 합니다.
  3. 메시를 변경하면 물리 엔진이 영향을 받기 때문에, 과도한 변경은 피해야 합니다.

최적화 팁

  • 메시 콜라이더에 사용할 메시의 Normals는 불필요하므로, Import Settings에서 비활성화할 수 있습니다.
  • 런타임 중 자주 변경되는 메시에는 기본 콜라이더(구체, 박스 등)를 사용하는 것이 좋습니다.

활용 예제

  • 복잡한 환경: 대규모 게임 환경에서, 정확한 충돌 처리를 위해 메시 콜라이더를 활용하여 더 자연스러운 상호작용을 제공할 수 있습니다.
  • 캐릭터 상호작용: 캐릭터가 특정 오브젝트와 상호작용할 때, 메시 콜라이더를 사용하여 세밀한 충돌 감지를 구현할 수 있습니다.
  • 프로시저 생성: 생성된 맵이나 오브젝트에서 메시를 동적으로 생성하여 최적화된 쿠킹 옵션을 사용하는 방법으로 효율성을 높입니다.
참고: 메시 콜라이더는 복잡한 지형이나 오브젝트에 매우 유용하지만, 과다 사용 시 성능 저하를 초래할 수 있습니다. 적절한 사용이 필요합니다.