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

NavMesh Surface

NavMesh Surface 컴포넌트는 특정 NavMesh Agent 타입에 대해 걸을 수 있는 영역을 나타내며, NavMesh가 빌드되어야 하는 씬의 일부를 정의합니다. Unity의 스탠다드 설치 항목은 아닙니다. 액세스 방법은 고수준 NavMesh Building 컴포넌트에 관한 문서를 참조하십시오.

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

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 레이캐스트
- 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 지원되지 않음.

  • 2017–09–08 제한적인 편집 리뷰를 거쳐 페이지 게시됨 - 피드백 작성

  • Unity 5.6의 새로운 기능

  • Advanced debug visualisation removed from 5.6 and 17.1 Manual

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