NavMesh란?
네비게이션 메시의 약자로 게임오브젝트가 자연스럽게 움직일 수 있도록 도와주는 경로 탐색 시스템
게임 환경 내에서 이동 가능한 영역을 정의하는 데 사용, 이 시스템은 AI 캐릭터가 목적지까지 효율적으로 이동할 수 있도록 경로를 계산하고, 장애물을 피하는 데 필요한 정보를 설정해줄 수 있다.
NavMesh Surface: 게임 오브젝트에 적용하여 네비게이션 메시를 생성하는 표면으로 이를 통해 이동 가능한 영역을 정의 할 수 있다
- Bake : NavMesh를 생성하는 과정, 게임 오브젝트의 이동 가능한 영역을 정의하고, AI 캐릭터가 경로를 탐색할 수 있도록 필요한 정보를 담은 NavMesh를 만드는 것
NavMesh Agent: AI 캐릭터에 부착하여 경로를 따라 움직이도록 하는 컴포넌트, 캐릭터가 목표 지점까지 자동으로 이동할 수 있게 함
NavMesh Modifier : NavMesh의 특성을 조정할 수 있도록 해주는 컴포넌트, 특정 게임 오브젝트가 NavMesh의 탐색 가능한 영역에 어떤 영향을 미치는지를 세부적으로 조정
Add or Modify Object: 오브젝트가 NavMesh에 추가되거나 기존의 NavMesh 속성을 변경하는 역할
Remove Object: 해당 오브젝트가 NavMesh에서 제거되도록 설정
Remove Object를 통해 해당 Object가 NavMesh에서 제거되면 해당 오브젝트를 통과해서 캐릭터를 움직이게 하는 것도 가능하다.
Navigation의 Areas
이동 Cost를 설정하여 AI가 빠르게 이동해야 하는 지역과 느리게 이동해야 하는 지역을 구분하여 더 자연스러운 동작을 구현할 수 있다.
Agents : AI 캐릭터가 경로 탐색을 통해 환경 내에서 이동할 수 있도록 도와주는 요소
NavMesh Agent 의 주요 기능들
속도조절, 회전속도, 가속, 탐색반경 등
NavMesh Agent의 사용 예시
- 적 캐릭터: 적 AI가 플레이어를 추적하거나 특정 경로를 따라 이동할 때 활용
- NPC 동작: 게임 내 NPC가 특정 장소로 이동하거나 임무를 수행에 활용
- 펫 AI: 플레이어와 함께 움직이거나 특정 목표를 따라다니는 AI 캐릭터에 적용
'Unity' 카테고리의 다른 글
람다식 (0) | 2024.10.22 |
---|---|
UI - Canvas (0) | 2024.10.18 |
Texture (1) | 2024.10.07 |
Lerp(선형 보간) (0) | 2024.10.01 |
Coroutine(코루틴) (0) | 2024.09.30 |