Version: 5.6
내비메시 링크
고급 내비메시 베이크 설정

NavMesh 빌딩 컴포넌트 API

NavMesh 빌딩 컴포넌트는 런타임에 Unity 에디터에서 NavMesh를 빌드(베이킹이라고도 함)하고 사용하는 데 필요한 컨트롤을 별도로 제공합니다.

NavMesh Modifiers는 Unity 기본 설치 항목이 아닙니다. 액세스 방법은 고급 레벨의 NavMesh 빌딩 컴포넌트 문서를 참조하십시오.

NavMeshSurface

프로퍼티

  • agentTypeID – NavMesh가 빌드해야 하는 에이전트 타입을 설명하는 ID
  • collectObjects – 입력 지오메트리를 씬에서 수집하는 방법을 정의합니다. UnityEngine.AI.CollectObjects 중 하나입니다.
    • All – 씬의 모든 오브젝트를 사용합니다.
    • Volume – 씬에서 경계 볼륨을 터치하는 모든 게임 오브젝트를 사용합니다(sizecenter 참조).
    • Children – NavMesh 표면이 연결된 게임 오브젝트의 하위 오브젝트인 모든 오브젝트를 사용합니다.
  • size – 빌드 영역의 차원입니다. 스케일링에 영향을 받지 않습니다.
  • center – 트랜스폼 중심을 기준으로 한 빌드 영역의 중심입니다.
  • layerMask – 베이킹에서 어떤 게임 오브젝트가 포함되어야 하는지에 대한 레이어를 정의하는 비트마스크입니다.
  • useGeometry – 베이킹에 사용되는 지오메트리를 정의합니다. UnityEngine.NavMeshCollectGeometry 중 하나입니다.
    • RenderMeshes – 렌더 메시 및 터레인의 지오메트리를 사용합니다.
    • PhysicsColliders – 콜라이더와 터레인의 지오메트리를 사용합니다.
  • defaultArea –별도로 지정되지 않는 한, 모든 입력 지오메트리의 디폴트 영역 타입입니다.
  • ignoreNavMeshAgent – 입력으로서 NavMeshAgent 컴포넌트가 있는 게임 오브젝트를 무시해야 하는 경우 true입니다.
  • ignoreNavMeshObstacle – 입력으로서 NavMeshObstacle 컴포넌트가 있는 게임 오브젝트를 무시해야 하는 경우 true입니다.
  • overrideTileSize – 파일 크기가 설정된 경우 true입니다.
  • tileSize – 복셀 단위의 타일 크기입니다. 컴포넌트 설명에는 타일 크기 선택 방법에 대한 내용이 포함되어 있습니다.
  • overrideVoxelSize – 복셀 크기가 설정된 경우 true입니다.
  • voxelSize – 월드 단위의 복셀 크기입니다. 컴포넌트 설명에는 타일 크기 선택 방법에 대한 내용이 포함되어 있습니다.
  • buildHeightMesh – 구현되지 않습니다.
  • bakedNavMeshData – 표면에서 사용하는 NavMeshData에 대한 레퍼런스이거나, 설정되지 않은 경우 null입니다.
  • activeSurfaces – 모든 활성 NavMeshSurface의 리스트입니다.

참고: 상기 값은 베이크 결과에 영향을 미치므로 Bake()를 호출하여 포함시켜야 합니다.

Public 함수

  • void Bake ()

NavMesh 표면에서 설정한 파라미터에 따라 새로운 NavMeshData를 베이크합니다. 데이터에는 bakedNavMeshData를 통해 액세스할 수 있습니다.

NavMesh Modifier

프로퍼티

  • overrideArea – Modifier가 영역 타입을 오버라이드하는 경우 true입니다.
  • area – 적용할 새로운 영역 타입입니다.
  • ignoreFromBuild – modifier 가 포함된 게임 오브젝트와 그 하위 오브젝트를 NavMesh 베이킹에 사용하지 않아야 하는 경우 true입니다.
  • activeModifiers – 모든 활성 NavMeshModifier의 리스트입니다.

Public 함수

  • bool AffectsAgentType(int agentTypeID)

modifier 가 지정된 에이전트 타입에 적용되는 경우 true를 반환하고 그렇지 않으면 false를 반환합니다.

NavMesh Modifier Volume

프로퍼티

  • size – 로컬 공간 단위로 나타낸 경계 영역의 크기입니다. 트랜스폼은 크기에 영향을 미칩니다.
  • center – 로컬 공간 단위로 나타낸 경계 영역의 중심입니다. 트랜스폼은 중심에 영향을 미칩니다.
  • area – 경계 볼륨 안에 있는 NavMesh 영역에 적용할 영역 타입입니다.

Public 함수

  • bool AffectsAgentType(int agentTypeID)

modifier 가 지정된 에이전트 타입에 적용되는 경우 true를 반환합니다.

NavMesh Link

프로퍼티

  • agentTypeID – 링크를 사용할 수 있는 에이전트 타입입니다.
  • startPoint – 로컬 공간 단위로 나타낸 링크의 시작 점입니다. 트랜스폼은 위치에 영향을 미칩니다.
  • endPoint – 로컬 공간 단위로 나타낸 링크의 끝 점입니다. 트랜스폼은 위치에 영향을 미칩니다.
  • width – 월드 길이 단위로 나타낸 링크의 너비입니다.
  • bidirectional – true인 경우 링크를 양방향으로 모두 이동할 수 있습니다. false인 경우 시작에서 끝으로만 이동할 수 있습니다.
  • autoUpdate – true인 경우 게임 오브젝트의 트랜스폼을 매 프레임마다 체크되도록 링크가 끝 점을 업데이트합니다.
  • area – 링크의 영역 타입입니다. 비용을 위한 경로 탐색에 사용됩니다.

Public 함수

  • void UpdateLink()

연결된 트랜스폼과 일치하도록 링크를 업데이트합니다. 예를 들어 트랜스폼 포지션을 변경한 후에 링크를 업데이트하는 데 유용하지만, autoUpdate 프로퍼티가 활성화된 경우 불필요합니다. 하지만 링크 트랜스폼을 거의 변경하지 않는 경우 UpdateLink을 호출해도 성능에 미치는 영향이 훨씬 더 적을 수 있습니다.



내비메시 링크
고급 내비메시 베이크 설정