TIL 42 AI 네비게이션

qkrrlcks00·2024년 10월 25일
post-thumbnail

폰트 에셋 파일을 만들어주기 위해 Window - TextMeshPro - FontAssetCreator 에서 아래와 같이 넣어줍니다.
32-126 : 영어 알파벳 값
44032-55203 : 한글 값
12593-12643 : 모음자음 따로 있는 한글 값
8200-9900 : 특수문자

아래와 같이 Auto Size를 클릭한후 Min Max값을 넣어주면 Text가 길어져도 알아서 폰트 사이즈를 조절해준다

AI 네비게이션

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

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

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

패키지 매니저에서 AI Navigation을 설치합니다.

AI - Navigation (Obsolete)를 선택해줍니다

현재 바닥구성하고있는 땅은 Walkable, 강은 Not Waterable로 되어있는데 여기서 Bake를 해주면 아래와 같이 걸을 수 있는곳과 아닌곳이 분리되어 보인다.


이제 나무도 걸을수 없는곳으로 만들어주고 싶으니 아래 컴포넌트를 추가합니다

Carve : 영역에서 제외해주기위해선 체크해주어야합니다.
Move Threshold : 지정된 값 이상 움직이게 되면, 다시 장애물의 영역을 계산해줍니다.
Time To Stationary : 장해물이 정지되어있다고 인식하는 시간입니다.
Carve Only Stationary : 멈추고 정지되었다고 인식하는 순간에 구멍을 뚫어주는 옵션이다.


곰에게는 Nav Mesh Agent를 추가해준다

0개의 댓글