Version: 2019.2
힌지 조인트
리지드바디

메시 콜라이더

메시 콜라이더(Mesh Collider)메시 에셋을 사용하고 해당 메시를 기반으로 콜라이더를 빌드합니다. 이 방법은 복잡한 메시에 프리미티브를 사용하는 것보다 충돌 검사에 훨씬 더 정확합니다. Convex 로 표시된 메시 콜라이더는 다른 메시 콜라이더와 충돌할 수 있습니다.

프로퍼티

프로퍼티 기능
Convex Convex 를 활성화하려면 체크박스를 선택해야 합니다. 이 옵션을 활성화하면 이 메시 콜라이더가 다른 메시 콜라이더와 충돌합니다. Convex 메시 콜라이더는 삼각형 255개로 제한됩니다.
Is Trigger 활성화하면 Unity가 콜라이더를 사용해 이벤트를 트리거하고, 물리 엔진은 이를 무시합니다.
Cooking Options 메시 쿠킹 옵션을 활성화하거나 비활성화하면 물리 엔진이 메시를 처리하는 방식에 영향을 줍니다.
None 아래에 나열된 Cooking Options 를 모두 비활성화합니다.
Everything 아래에 나열된 Cooking Options 를 모두 활성화합니다.
Cook for Faster Simulation 빠른 시뮬레이션을 위해 물리 엔진이 메시를 쿠킹하도록 만듭니다. 활성화하면 몇 가지 추가 단계를 실행하여 생성되는 메시를 런타임 성능에 최적화합니다. 이 작업은 물리 쿼리와 컨택트 생성에 영향을 미칩니다. 이 설정을 비활성화하면 물리 엔진이 빠른 쿠킹 타임을 사용하여 가능한 빠르게 결과물을 생성합니다. 따라서 쿠킹된 메시 콜라이더가 최적화되지 않을 수 있습니다.
Enable Mesh Cleaning 물리 엔진이 메시를 청소하도록 만듭니다. 활성화하면 쿠킹 프로세스가 메시의 손상된 삼각형과 다른 지오메트리 결함을 제거하려고 시도합니다. 이 작업을 수행하면 충돌 검사에 효과적인 메시를 만들고 더 정확한 히트 포인트를 생성할 수 있습니다.
Weld Colocated Vertices 물리 엔진이 메시에서 같은 버텍스를 삭제하도록 만듭니다. 활성화하면 물리 엔진이 동일한 포지션을 가진 버텍스를 결합합니다. 이 작업은 런타임 시점에 발생하는 충돌 피드백에 특히 중요합니다
Material 콜라이더가 다른 콜라이더와 상호작용하는 방법을 결정하는 물리 머티리얼에 대한 레퍼런스입니다.
Mesh 충돌에 사용할 메시에 대한 레퍼런스입니다.

세부 정보

메시 콜라이더는 게임 오브젝트에 연결된 메시를 토대로 충돌체를 재구성하여 빌드하고, 연결된 트랜스폼의 프로퍼티를 읽고 포지션과 스케일을 올바르게 설정합니다. 이렇게 하면 콜라이더의 모양이 게임 오브젝트에 보이는 메시의 모양과 정확히 일치하여 더 정확하고 실제 같은 충돌을 얻을 수 있다는 장점이 있습니다. 하지만 이 높은 정밀도는 기본 콜라이더(구체, 박스, 캡슐 등)가 관련된 충돌보다 많은 프로세싱 오버헤드를 사용하여 얻어지므로 메시 콜라이더 사용을 삼가는 것이 좋습니다.

충돌 메시의 면은 단방향입니다. 즉, 오브젝트가 메시를 한 방향으로 지나갈 수 있지만 다른 방향으로 지나가면 메시와 충돌합니다.

메시 쿠킹

메시 쿠킹은 일반 메시를 물리 엔진에 사용할 수 있는 메시로 변경합니다. 또한 물리 쿼리를 위한 공간 검색 구조체(예: Physics.Raycast](../ScriptReference/Physics.Raycast.html)를 빌드하고 콘택트 생성을 위한 구조체를 지원합니다. Unity는 충돌 검사에 사용하기 전에 모든 메시를 쿠킹합니다. 이 작업은 임포트 시점(Import Settings > Model > Generate Colliders) 또는 런타임 시점에 발생합니다.

런타임 시점에 메시를 생성하는 경우(예: 절차적 표면) Cooking Options 를 설정하면 더 빠르게 결과물을 생성하고 추가 데이터 청소 단계가 비활성화됩니다. 단, 손상된 삼각형이나 같은 자리에 위치한 버텍스를 생성하지 않아야 하는 단점이 있지만, 그만큼 쿠킹 작업 속도가 빨라집니다.

Enable Mesh Cleaning 또는 Weld Colocated Vertices 를 비활성화한 경우 해당 알고리즘이 필터링할 수 있는 데이터를 사용하지 않아야 합니다. Weld Colocated Vertices 를 비활성화한 경우에는 같은 위치에 버텍스가 존재하지 않아야 하고, Enable Mesh Cleaning 을 활성화한 경우에는 면적이 0에 가까운 작은 삼각형, 얇은 삼각형, 면적이 무한에 가까운 거대한 삼각형이 없어야 합니다.

참고: Cooking Options 를 기본 설정값 외에 다른 값으로 지정할 경우 메시 콜라이더는 isReadable의 true 값을 가진 메시를 사용해야 합니다.

제한 사항

메시 콜라이더 사용 시 다음과 같은 몇 가지 제약이 있습니다.

활성화된 Convex 가 없는 메시 콜라이더는 Rigidbody 컴포넌트가 없는 게임 오브젝트에서만 지원됩니다. 메시 콜라이더를 Rigidbody 컴포넌트에 적용하려면 Convex 체크박스를 선택하십시오.

메시 콜라이더가 제대로 동작하려면 다음과 같은 상황에서 메시의 읽기/쓰기가 가능해야 합니다.

  • 메시 콜라이더의 트랜스폼에 음수 스케일링이 있고(예: –1, 1, 1) 메시가 컨벡스입니다.
  • 메시 콜라이더의 트랜스폼이 비뚤어지거나 잘렸습니다(예: 회전된 트랜스폼에 확대/축소된 부모 트랜스폼이 있는 경우).
  • 메시 콜라이더의 쿠킹 옵션 플래그가 기본이 아닌 값으로 설정되었습니다.

Optimization tip: 메시를 메시 콜라이더에서만 사용하는 경우 Normals 를 물리 시스템에서 필요로 하지 않으므로 Import Settings 에서 비활성화할 수 있습니다.


  • 2018.3에서 메시 콜라이더 제한 사항 업데이트됨

  • 2018–10–12 페이지 수정됨

  • Unity 2017.3에서 메시 쿠킹 옵션 추가됨 NewIn20173

  • 2018.1에서 업데이트된 기능

  • 2017.3에서 읽기/쓰기 활성화 설정과 관련된 제한 사항 업데이트됨

  • 볼록한 메시 팽창은 2018.3에서 지원이 중단되었습니다. 이는 새로운 볼록 헐 계산 알고리즘(Quickhull)이 입력 메시의 결함에 대해 더 큰 허용치를 제공하기 때문입니다.

힌지 조인트
리지드바디