✅ Navigation Invoker (내비게이션 인보커)
- Project Settings - Engine - Generate Navigation Only Around Navigation Invokers ✅
목적:
동적으로 내비게이션 메쉬(NavMesh)를 생성하기 위한 시스템입니다.
기본 배경:
언리얼 엔진에서 AI가 이동하려면 NavMesh가 필요합니다. 하지만 월드 전체에 NavMesh를 미리 생성해 놓으면 퍼포먼스에 큰 영향을 미치고, 메모리도 많이 사용됩니다. 이를 해결하기 위해 필요한 위치에서만 NavMesh를 실시간으로 생성해주는 게 Navigation Invoker입니다.
작동 방식:
- Actor에 Navigation Invoker 컴포넌트를 추가하면, 해당 Actor 주변의 일정 범위 내에서만 NavMesh가 동적으로 생성됩니다.
- 이 방식은 오픈 월드, 랜덤 생성 맵, 크고 복잡한 맵에서 특히 유용합니다.
사용법:
- Actor에 NavigationInvokerComponent 추가.
- Project Settings > Navigation System에서 Generate Navigation Only Around Invokers 옵션 활성화.
- 필요 시 생성 반경 조정 가능.
장점:
- 큰 맵에서도 퍼포먼스 최적화.
- 필요한 곳에서만 NavMesh 생성 가능.
- 동적 맵 생성에 적합.
✅ RVO (Reciprocal Velocity Obstacles)
목적:
AI 간 충돌 회피(Avoidance)를 위한 알고리즘입니다.
기본 배경:
AI 유닛들이 동시에 움직일 때, 서로 충돌하지 않도록 부드럽게 피해서 움직이게 하기 위한 기능입니다.
작동 방식:
- 각 AI는 자신의 속도와 방향, 주변 유닛들의 상태를 고려해 충돌 가능성을 예측하고 회피 방향을 계산합니다.
- "Reciprocal" 이라는 말은 서로가 동시에 회피를 시도해 부드러운 움직임을 만든다는 뜻입니다.
사용 조건:
- AI 캐릭터에 CharacterMovementComponent가 있어야 하며, Use RVO Avoidance 옵션을 활성화해야 합니다.
- Avoidance Group, Groups to Avoid, Groups to Ignore 등을 통해 그룹 간 회피 설정 가능.
장점:
- 부드럽고 현실감 있는 AI 군중 행동.
- RTS나 대규모 AI 이동에서 자연스러운 회피 가능.
'게임 개발 공부 > Unreal Engine' 카테고리의 다른 글
UObject 클래스 (0) | 2025.03.24 |
---|---|
Blueprint Function Library (0) | 2025.03.14 |
AI Perception 사용 시 같은 AI 공격 문제 해결 확실한 방법 (0) | 2025.03.10 |
GameInstance (0) | 2025.03.05 |
메타사운드 (0) | 2025.03.04 |