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

메시 콜라이더

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

프로퍼티

Property Function
Convex Tick the checkbox to enable Convex. If enabled, this Mesh Collider collides with other Mesh Colliders. Convex Mesh Colliders are limited to 255 triangles.
Is Trigger If enabled, Unity uses this Collider for triggering events, and the physics engine ignores it.
Cooking Options Enable or disable the Mesh cooking options that affect how the physics engine processes Meshes.
None Disable all of the Cooking Options listed below.
Everything Enable all of the Cooking Options listed below.
Inflate Convex Mesh Allow the physics engine to increase the volume of the input Mesh, to generate a valid convex mesh.
Cook for Faster Simulation Make the physics engine cook Meshes for faster simulation. When enabled, this runs some extra steps to guarantee the resulting Mesh is optimal for run-time performance. This affects the performance of the physics queries and contacts generation. When this setting is disabled, the physics engine uses a faster cooking time instead, and produces results as fast as possible. Consequently, the cooked Mesh Collider might not be optimal.
Enable Mesh Cleaning Make the physics engine clean Meshes. When enabled, the cooking process tries to eliminate degenerate triangles of the Mesh, as well as other geometrical artifacts. This results in a Mesh that is better suited for use in collision detection and tends to produce more accurate hit points.
Weld Colocated Vertices Make the physics engine remove equal vertices in the Meshes. When enabled, the physics engine combines the vertices that have the same position. This is important for the collision feedback that happens at run time.
Material Reference to the Physics Material that determines how this Collider interacts with others.
Mesh Reference to the Mesh to use for collisions.

세부 정보

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

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

메시 쿠킹

메시 쿠킹은 일반 메시를 물리 엔진에 사용할 수 있는 메시로 변경합니다. 또한 물리 쿼리를 위한 공간 검색 구조체(예: 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 체크박스를 선택해야 합니다.
  • 다음과 같은 특정한 경우에 메시 콜라이더가 올바르게 작동하도록 하기 위해서는 메시 임포트 설정에서 Read/Write Enabled 체크박스를 선택해야 합니다.
    • 네거티브 스케일링(예: (–1, 1, 1))
    • 쉬어(shear) 변환(예: 회전된 메시에 스케일링된 상위 변환이 있는 경우)

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


  • 2018–06–07 편집 리뷰를 거쳐 페이지 수정됨

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

  • 2018.1에서 업데이트된 기능

힌지 조인트
리지드바디