NavMeshAgent
Unity 게임 엔진에서 사용되는 컴포넌트 중 하나.
이 컴포넌트는 네비게이션 메시(NavMesh)를 기반으로 하는 경로 탐색을 담당.
프로퍼티
에이전트 크기:
Radius (반경): 에이전트의 반경은 장애물과 다른 에이전트 간의 충돌을 계산하기 위해 사용.
Height (높이): 에이전트가 장애물 밑으로 지나갈 수 있는 높이 간격.
Base Offset (베이스 오프셋): 트랜스폼 피봇 포인트와 관련한 충돌 실린더의 오프셋.
스티어링:
Speed (최대 이동 속도): 에이전트의 최대 이동 속도(초당 월드 단위로).
Angular Speed (최대 회전 속도): 에이전트의 최대 회전 속도(초당 각도).
Acceleration (최대 가속): 에이전트의 최대 가속(제곱 초당 월드 단위로).
Stopping Distance (정지 거리): 에이전트는 목표 위치에 가까워졌을 시 정지.
Auto Braking (자동 브레이킹): 활성화 시 에이전트는 목적지에 다다를 때 속도를 줄임.
멀티플 포인트 사이에서 부드럽게 움직여야 하는 순찰과 같은 동작을 할 때에는 비활성화.
장애물 회피:
Quality (품질): 장애물 회피 품질. 에이전트의 수가 많다면 품질을 줄임으로써 CPU 시간을 절약할 수 있음.
Priority (우선 순위): 낮은 우선 순위의 에이전트는 이 에이전트의 회피 대상에서 제외.
경로 찾기:
Auto Traverse OffMesh Link (오프 메시 링크 자동 횡단): 자동적으로 오프 메시 링크를 횡단하려면 트루로 설정.
Auto Repath (자동 경로 재탐색): 활성화 시 에이전트가 경로 일부분의 끝에 도달하면 경로를 재탐색. 목적지까지 경로가 없다면 목적지에서 제일 가깝게 도달할 수 있는 위치까지 부분적인 경로가 생성.
Area Mask (영역 마스크): 에이전트가 경로 탐색에 어떤 영역 타입을 고려할 것인지를 설명. 각각의 메시 영역 타입을 설정하여 계단이나 특정 지형을 고려할 수 있음.
NavMesh
게임 환경 내에서 캐릭터 또는 다른 오브젝트가 이동할 수 있는 영역을 정의하는 메시(mesh)
일반적으로 자주 사용되는 속성들
speed (float)
에이전트의 이동 속도를 나타냄.
angularSpeed (float)
에이전트의 회전 속도를 나타냄.
acceleration (float)
에이전트의 가속도를 나타냄.
에이전트가 목적지에 도달하기 전에 최대 속도에 도달하는 데 필요한 시간을 제어.
stoppingDistance (float)
에이전트가 목적지에 도달했다고 간주하는 거리를 나타냄.
에이전트는 이 거리 이내에 도달하면 정지.
radius (float)
에이전트의 실린더의 반경을 나타냄.
이 값은 충돌을 피하거나 경로를 조정할 때 사용.
height (float)
에이전트의 실린더의 높이를 나타냄.
수직 충돌 및 경로 계산에 영향.
baseOffset (float)
실린더의 베이스와 게임 오브젝트의 중심 간의 수직 오프셋을 나타냄.
obstacleAvoidanceType (ObstacleAvoidanceType)
장애물 회피 방법을 나타냄.
ObstacleAvoidanceType 열거형으로 설정됨.
destination (Vector3)
에이전트의 현재 목적지를 나타냄.
isStopped (bool)
에이전트가 현재 멈춰 있는지 여부를 나타냄.
path (NavMeshPath)
에이전트의 현재 경로를 나타냄.
autoBraking (bool)
에이전트가 목적지에 도달하면 자동으로 브레이킹(멈춤)을 할지 여부를 나타냄.