유니티 엔진/유니티 엔진의 구성

유니티 엔진의 구성 - 23) NavMesh

monstro 2026. 2. 24. 20:28
728x90
반응형

- 개요

유니티의 AI Navigation 패키지는 길찾기와 같은 AI 관련 기능을 제공한다

해당 패키지는 크게 다음의 5개의 컴포넌트를 중심으로 동작한다

  • 1) NavMesh Agent 컴포넌트 : 캐릭터에 부착하여 장애물을 피하면서 길찾기를 수행하는 컴포넌트
  • 2) NavMesh Surface 컴포넌트 : 이동 가능한 바닥(NavMesh)을 생성하고 굽는(Bake) 컴포넌트
  • 3) NavMesh Obstacle 컴포넌트 : 장애물을 설정하여 NavMesh에 구멍을 내는 컴포넌트
  • 4) NavMesh Link 컴포넌트 : 떨어진 두 지점을 연결하여 점프나 텔레포트와 같은 통로를 만드는 컴포넌트
  • 5) NavMesh Modifier Volume 컴포넌트 : 비용을 적용하여 물과 용암같은 특정 영역을 생성하는 컴포넌트

 

1) NavMesh Agent 컴포넌트

 

NavMesh Agent 컴포넌트는 위와 같이 구성되어 있다

  • Steering 관련 설정
    • Speed : 에이전트의 최대 이동 속도
    • Angular Speed : 초당 최대 회전 속도
    • Acceleration : 정지 상태에서 최대 속도까지 도달하는 가속도
    • Stopping Distance : 목적지의 몇 미터 전에 멈출 것인지 설정
    • Auto Braking : 목적지에 도착 전 자동으로 속도를 줄일지 여부
  • Obstacle Avoidance 관련 설정
    • Radius /  Height : 컴포넌트가 부착된 대상의 물리적 반지름높이
      • 회피해야 하는 장애물을 계산하는데 사용하는 기준
    • Quality : 장애물 회피 계산의 정밀도
      • 개체가 많으면 Low Quality 권장
    • Priority : 컴포넌트 부착 대상 간의 회피 우선순위
      • 값이 낮을수록 우선순위가 높음
  • Path Finding 관련 설정
    • Auto Traverse Off Mesh Link : 점프하거나 낙하해야 하는 Link자동 통과 여부
      • 애니메이션 연동False 설정
    • Auto Repath : 경로가 막혔을 때 자동으로 재탐색할지 여부
    • Area Mask : 이동 가능한 영역 레이어 선택
      • 특정 대상의 지역 통과 제한

 

2) NavMesh Surface 컴포넌트

 

NavMesh Surface 컴포넌트는 위와 같이 구성되어 있다

  • Use Geometry : NavMesh를 베이킹하는 기준
    • Render Meshes / Physics Colliders 2개의 기준이 존재
    • Physics Colliders 더 정확할 수 있음 
  • Voxel Size : 베이킹 시 맵을 나누는 격자 크기
    • 낮을수록 정확하나 베이킹 시간 증가
  • Minimum Region Area : 무시할 최소 보행 영역 면적
    • 작고 불필요한 파편 영역 제거
  • Build Height Mesh : 활성화 시 계단 등 지형의 높이 정밀 묘사
    • 적용하면 NavMesh Agent가 수식된 개체가 계단을 끊어서 오름

 

3) NavMesh Obstacle 컴포넌트

 

NavMesh Obstacle 컴포넌트는 위와 같이 구성되어 있다

  • Carve : 실시간으로 NavMesh에 구멍을 낼지 여부
    • 움직이는 장애물에 사용
  • Move Threshold : 구멍을 다시 팔 기준이 되는 최소 이동 거리
  • Time To Stationary : 정지 후 구멍을 파기까지 대기 시간
  • Carve Only Stationary : 멈춰 있을 때만 구멍을 팔지 여부

 

4) NavMesh Link 컴포넌트

 

NavMesh Link 컴포넌트는 위와 같이 구성되어 있다

  • Bidirectional : 양방향 이동 가능 여부
    • 체크 해제단방향 링크로 동작
  • Width : 링크 통로의 가로 너비
    • 너비가 넓으면 여러 지점에서 통과 가능
  • Cost Override : 해당 경로 통과 시 소모되는 비용
    • 비용이 낮을수록 NavMesh Agent가 수식된 개체가 선호

 

5) NavMesh Modifier Volume 컴포넌트

 

NavMesh Modifier Volume 컴포넌트는 위와 같이 구성되어 있다

  • Area Type : NavMesh Modifier Volume이 적용되는 영역의 타입
  • Affected Agents : NavMesh Modifier Volume이 영향을 미칠 NavMesh Agent의 타입

 

6) Agent Type 설정

 

Agent Type은 NavMesh를 구울 때 기준이 되는 캐릭터의 신체적 조건을 의미한다

  • Name : NavMesh Agent가 수식되는 개체의 유형별 이름
  • Radius : NavMesh Agent가 수식되는 개체의 반지름
    • 좁은 통로의 통과 여부를 결정하는 요소
  • Height : NavMesh Agent가 수식되는 개체의 높이
    • 낮은 천장 밑의 통과 여부를 결정하는 요소
  • Step Height : NavMesh Agent가 수식되는 개체가 올라갈 수 있는 최대 높이
  • Max Slope : NavMesh Agent가 수식되는 개체가 등반할 수 있는 최대 경사 각도
  • Drop Height : 링크 생성 시에 NavMesh Agent가 수식되는 개체가 뛰어내릴 수 있는 최대 높이
  • Jump Distance : 링크 생성 시에 NavMesh Agent가 수식되는 개체가 건너뛸 수 있는 틈의 최대 거리
728x90
반응형