NavMeshBoundsVolume 검색 → 레벨에 드래그. R 키(Scale)로 크기를 조절해 AI 가 돌아다닐 공간을 전부 포함. P(영문 키보드) : NavMesh 시각화 토글.| 모드 | 특징 |
|---|---|
| Static | 에디터에서 한 번 굽고 런타임엔 변경 X |
| Dynamic | 런타임 중 지형 변동 시 추가·재생성 모두 가능 |
| Dynamic Modifiers Only | 기존 Mesh에서 “빼기”(감산)만 가능. 성능 절약 |
Edit ▸ Project Settings ▸ Navigation Mesh→ Runtime Generation 변경
런타임에 볼륨을 새로 생성하는 대신 Invoker 컴포넌트를 단 액터 주변만 타일을 계산
// 헤더
#include "NavigationInvokerComponent.h"
float NavGenerationRadius = 3000.f;
float NavRemovalRadius = 3500.f;
NavInvoker = CreateDefaultSubobject<UNavigationInvokerComponent>(TEXT("NavInvoker"));
NavInvoker->SetGenerationRadii(NavGenerationRadius, NavRemovalRadius);
| 항목 | 값 | 위치 |
|---|---|---|
| Build.cs | PublicDependencyModuleNames.Add("NavigationSystem"); | 프로젝트 모듈(Build.cs) |
| Runtime Generation | Dynamic | Project Settings ▸ Engine ▸ Navigation Mesh |
| Generate Navigation Only Around Navigation Invokers | true | Project Settings ▸ Engine ▸ Navigation System |
빌드 시
NavigationSystem모듈이 없으면UNavigationInvokerComponent를 찾지 못해 컴파일 에러가 발생하므로 반드시 추가!
Dynamic 모드가 사실상의 “동적 NavMesh” 솔루션. Dynamic Modifiers Only 모드는 추가 타일 생성은 막고, 장애물 감산만 처리 → 비용을 더 낮게 유지할 수 있다.