TIL.28 - AI 네비게이션

김진영·2024년 5월 30일

스파르타코딩

목록 보기
28/39
post-thumbnail

1. AI 네비게이션이란?

  • AI 네비게이션(AI Navigation)

AI 네비게이션(AI Navigation)은 인공지능이 게임이나 시뮬레이션 등 가상 환경에서 이동하는 방법을 결정하는 기술이다. 주로 3D 게임에서 캐릭터나 NPC가 지능적으로 이동하도록 만들지고, 이를 위해 AI 네비게이션 시스템은 지형, 장애물, 목표 지점 등을 고려하여 적절한 경로를 생성하고 이동하는데 사용된다.

AI 네비게이션을 구현하는 주요 기술과 개념은 다음과 같다.

1. Navigation Mesh (네비게이션 매쉬)

  • 3D 공간을 그리드로 나누어 이동 가능한 지역과 장애물이 있는 지역을 구분하는 매쉬
  • 캐릭터가 이동할 수 있는 영역과 이동할 수 없는 영역을 정의하고, 이를 기반으로 경로를 계산

2. Pathfinding (경로 탐색)

  • 캐릭터의 현재 위치에서 목표 지점까지 가장 적절한 경로를 찾는 알고리즘
  • 주로 A* 알고리즘 등이 사용되며, 지정된 목표 위치까지 최단 경로를 탐색

3. Steering Behavior (스티어링 동작)

  • 캐릭터나 NPC가 경로를 따라 이동할 때, 보다 자연스러운 동작을 구현하는데 사용
  • 동적으로 캐릭터의 이동 방향과 속력을 조정하여 부드럽고 현실적인 이동을 시뮬레이션한다.

4. Obstacle Avoidance (장애물 피하기)

  • 캐릭터가 이동 중에 장애물과 충돌하지 않도록 하는 기술
  • 각종 센서나 알고리즘을 사용하여 장애물을 감지하고 피하는 동작을 수행

5. Local Avoidance (근접 회피)

  • 여러 캐릭터나 NPC가 서로 충돌하지 않도록 하는 기술
  • 캐릭터들 사이의 거리를 유지하거나 회피 동작을 수행하여 서로 부딪히지 않도록 한다

더 많은 AI 네비게이션 정보 링크

2. 회고

오늘이 개인과제 제출날이다. 시간 부족으로 선택 기능은 전혀 구현하지 못했고 필수 기능 구현 마저도 강의때 만들어두었던 유니티 그대로 사용해서 필수 구현에 더 필요했던 기능 2~3가지 정도만 더 추가해서 제출했다.

원래는 에셋도 이쁜거 찾아보고 새로 만들어서 복습하는 느낌으로 하고싶었지만 강의를 다 듣고 들으면서 나왔던 오류들도 고치다보니 시간이 너무 부족해서 어쩔 수 없이 선택하게 되었다. 그래도 필수 구현 남은 것들이라도 구현할 수 있어서 다행이었다.

0개의 댓글