Version: 2019.1
NavMesh 빌딩 컴포넌트
내비메시 모디파이어

NavMesh Surface

NavMesh Surface 컴포넌트는 특정 타입의 내비메시 에이전트가 걸을 수 있는 영역을 나타내고, 씬에서 내비메시를 빌드할 수 있는 부분을 정의합니다.

NavMesh Surface 컴포넌트는 Unity 에디터를 설치할 때 같이 설치되는 컴포넌트가 아닙니다. 이 컴포넌트를 받은 방법은 고수준 내비메시 빌딩 컴포넌트 문서를 참조하십시오.

NavMesh Surface 컴포넌트를 사용하려면 GameObject > AI > NavMesh Surface 로 이동합니다. 이렇게 하면 NavMesh Surface 컴포넌트가 연결된 빈 게임 오브젝트가 생성됩니다. 씬 하나에 여러 NavMesh Surface를 포함할 수 있습니다.

NavMesh Surface 컴포넌트는 아무 게임 오브젝트에나 추가할 수 있습니다. 게임 오브젝트의 관계를 보여주는 계층 구조를 사용하여 내비메시에 기여하는 게임 오브젝트를 정의할 수 있어 매우 유용합니다.

인스펙터 창에 열린 NavMesh Surface 컴포넌트
인스펙터 창에 열린 NavMesh Surface 컴포넌트
프로퍼티 기능
Agent Type NavMesh Surface를 사용하는 내비메시 에이전트의 타입입니다. 베이크 설정 및 경로 탐색 시 내비메시 에이전트를 올바른 표면에 매칭하는 데 사용합니다.
- Humanoid
- Ogre
Collect Objects 베이크하는 데 사용할 게임 오브젝트를 정의합니다.
- All – 모든 활성화된 게임 오브젝트를 사용합니다. 기본값입니다.
- Volume – 경계 체적과 겹치는 모든 활성화된 게임 오브젝트를 사용합니다.
- Children – NavMesh Surface 컴포넌트의 하위의 모든 활성화된 게임 오브젝트를 사용합니다.
Include Layers 베이크에 포함될 게임 오브젝트의 레이어를 정의합니다. Collect Objects 와 더불어, 베이크에서 특정 게임 오브젝트(예를 들어, 효과나 애니메이션 캐릭터)를 추가로 제외할 수 있습니다.
기본적으로 Everything 으로 설정되어 있지만, 다음 옵션을 토글하여 각 옵션을 개별적으로 켜거나(체크로 표시됨) 끌 수 있습니다.
- Nothing(다른 모든 옵션을 선택 해제합니다)
- Everything(다른 모든 옵션을 선택합니다)
- Default
- TransparentFX
- Ignore Raycast
- Water
- UI
Use Geometry 베이크에 사용할 지오메트리를 선택합니다.
- Render Meshes – 렌더 메시와 터레인의 지오메트리를 사용합니다.
- Physics Colliders – 콜라이더와 터레인의 지오메트리를 사용합니다. 에이전트는 Render Meshes 옵션을 사용할 때보다 이 옵션을 사용할 때 환경의 물리적 경계의 가장자리에 더 가깝게 이동할 수 있습니다.

입력 지오메트리를 광범위하게 필터링하기 위해서는 NavMesh Surface 컴포넌트의 주요 설정을 사용해야 합니다. NavMesh Modifier 컴포넌트를 사용하여 Unity 에디터가 게임 오브젝트당 입력 지오메트리를 취급하는 방식을 세부적으로 조정하십시오.

베이크 프로세스에서 내비메시 에이전트 또는 내비메시 장애물이 있는 게임 오브젝트는 자동으로 제외됩니다. 내비메시의 동적인 게임 오브젝트는 내비메시 빌딩에 기여하지 않기 때문입니다.

고급 설정

NavMesh Surface 고급 설정 패널
NavMesh Surface 고급 설정 패널

고급 설정 섹션에서 다음과 같은 파라미터를 추가로 커스터마이즈할 수 있습니다.

프로퍼티 기능
Default Area 내비메시를 빌드할 때 생성되는 영역의 타입을 정의합니다.
- Walkable(기본값)
- Not Walkable
- Jump
NavMesh Modifier를 사용합니다.
Override Voxel Size Unity가 NavMesh를 베이킹할 때 입력 지오메트리를 얼마나 정확히 처리하는지 컨트롤합니다(속도와 정확도 사이의 트레이드오프입니다). 활성화하려면 이 선택박스를 체크합니다. 디폴트는 선택 해제(비활성화) 상태입니다.
에이전트 반지름당 3 복셀은(직경당 6 복셀) 문과 같은 좁은 통로를 캡처할 수 있게 하면서 베이킹 시간을 빠르게 유지합니다. 더 크고 오픈된 영역일 경우 반지름당 1 또는 2 복셀을 사용해야 베이킹 속도가 높아집니다. 타이트한 내부 스폿은 반지름당 46 복셀과 같은 작은 복셀에 더 적합합니다. 반지름당 8 복셀이 넘을 경우 보통 부가적인 혜택을 제공하지 않습니다.
Override Tile Size 베이크 프로세스를 병렬 처리하고 메모리를 효율적이도록 하기 위해서는 씬이 타일로 나눠져야 합니다. NavMesh에서 보이는 흰색선은 타일 경계선입니다.
디폴트 타일 크기는 256 복셀이며, 이는 메모리 사용량과 NavMesh 단편화 간 좋은 트레이드오프를 가능하게 합니다.
디폴트 타일 크기를 변경할 경우, 이 선택박스를 선택한 후, Tile Size 필드에 원하는 타일 크기의 복셀 수를 입력합니다.
타일이 작을수록, NavMesh는 더욱 프래그먼트화 됩니다. 이로 인해 가끔씩 비최적화 경로가 발생할 수 있습니다. NavMesh 카빙도 타일에서 작동하며, 장애물이 많을 경우 보통 타일 크기를 작게 하면 카빙의 속도를 높일 수 있습니다(예를 들어, 64128복셀). 런타임 시 NavMesh를 베이크할 경우, 최대 메모리 사용량을 낮게 유지하려면 작은 타일 크기를 사용합니다.
Build Height Mesh 지원되지 않음.

고급 디버그 시각화

디버그 옵션으로 내비메시를 빌드한 후 나타나는 입력 지오메트리, 영역, 다각형 메시 디테일, 원시 윤곽선
디버그 옵션으로 내비메시를 빌드한 후 나타나는 입력 지오메트리, 영역, 다각형 메시 디테일, 원시 윤곽선
디버그 시각화 옵션이 있는 Nav Mesh Surface 인스펙터
디버그 시각화 옵션이 있는 Nav Mesh Surface 인스펙터

Debug Visualization 섹션의 설정을 사용하여 내비메시 빌드 프로세스 중에 발생하는 문제를 진단할 수 있습니다. 각 체크박스는 입력 씬 복셀화(Input Geometry), 영역 분할(Regions), 윤곽선 생성(Contours), 내비메시 폴리곤(Polygon Meshes) 등 내비메시 빌드 프로세스의 각 단계를 나타냅니다.


  • 2017–09–14 일부 편집 리뷰를 거쳐 페이지 게시됨

  • Unity 5.6의 새로운 기능

  • Unity 2017.2에서 고급 디버그 시각화 추가됨 NewIn20172

NavMesh 빌딩 컴포넌트
내비메시 모디파이어