개발 TIL

5/31 부트캠프 개발 TIL (Nav Mesh)

HJTL 2024. 5. 31. 20:42

오늘의 이론 - 네비게이션

 

유니티의 AI중 Navitgation시스템을 알아보고자 한다.

navigation은 유니티에서 NavMesh라고 한다.

NavMesh종류도 있다.
네비게이션 인스펙터
색상별로 지역을 따로 정할 수 있다.

 

NavMesh를 적용한 예제

 

 

네비게이션 기술의 종류

  1. Navigation Mesh (네비게이션 매쉬)
    • 3D 공간을 그리드로 나누어 이동 가능한 지역과 장애물이 있는 지역을 구분하는 매쉬입니다.
    • 캐릭터가 이동할 수 있는 영역과 이동할 수 없는 영역을 정의하고, 이를 기반으로 경로를 계산합니다.
  2. Pathfinding (경로 탐색)
    • 캐릭터의 현재 위치에서 목표 지점까지 가장 적절한 경로를 찾는 알고리즘입니다.
    • 주로 A* 알고리즘 등이 사용되며, 지정된 목표 위치까지 최단 경로를 탐색합니다.
  3. Steering Behavior (스티어링 동작)
    • 캐릭터나 NPC가 경로를 따라 이동할 때, 보다 자연스러운 동작을 구현하는데 사용됩니다.
    • 동적으로 캐릭터의 이동 방향과 속력을 조정하여 부드럽고 현실적인 이동을 시뮬레이션합니다.
  4. Obstacle Avoidance (장애물 피하기)
    • 캐릭터가 이동 중에 장애물과 충돌하지 않도록 하는 기술입니다.
    • 각종 센서나 알고리즘을 사용하여 장애물을 감지하고 피하는 동작을 수행합니다.
  5. Local Avoidance (근접 회피)
    • 여러 캐릭터나 NPC가 서로 충돌하지 않도록 하는 기술입니다.
    • 캐릭터들 사이의 거리를 유지하거나 회피 동작을 수행하여 서로 부딪히지 않도록 합니다.