Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- 뱀과사다리게임
- 2075번
- dx12 정리
- 백준 24444 c++
- lis응용
- 백준 c++ 24479번
- 애니메이션
- WinAPI
- 백준
- unrealengine
- 루트서명
- 11286번
- 2d 박스충돌
- 4134번
- Perforce
- 다음소수
- C++
- 랜더링 파이프라인
- 백준 1260 c++
- 바이토닉 수열
- dx12
- 2565번
- DirectX12
- 그리기 연산
- directx12 그리기 연산2
- Unreal
- BFS
- 24779
- 드래곤플라이트 모작
- 다익스트라
Archives
- Today
- Total
game-1 님의 블로그
[UnrealEngine5] Mass AI 본문
언리얼엔진 Mass AI
Mass AI는 언리얼 엔진 5에서 대규모 AI 에이전트(예: 수천~수만 명의 군중, 보행자, NPC 등)를 효율적으로 시뮬레이션하고 제어하기 위해 도입된 데이터 중심(Entity-Component-System, ECS) 기반 프레임워크입니다.
기존의 액터-컴포넌트 방식보다 훨씬 가볍고 확장성이 뛰어나, 대규모 AI를 현실적으로 구현할 수 있습니다.
Mass AI의 경우, LOD가 가까운 병사를 더 정밀하게 시뮬레이션 할 수 있기 때문에, 이번 프로젝트에서 만들어야하는 대규모 병사를 화면에 띄우기에 적합하다고 판단했습니다.
1. Mass Entity System
- 기존 언리얼 Actor 기반 시스템보다 훨씬 가볍고 빠름.
- Actor를 쓰지 않고, 아주 가벼운 데이터 구조로 수천 개의 유닛을 메모리 부담 없이 생성 가능.
- ECS(Entity-Component-System) 아키텍처를 기반으로 동작함.
2. Mass Agent / Entity
- Actor처럼 보이지만 실제로는 Actor가 아님.
- 하나의 병사 = 하나의 Entity (ID 기반)
- 이 Entity는 여러 Fragment(데이터) 와 Tag(특성) 를 조합해서 구성됨.
3. Processor
- 병사들이 해야 할 행동(이동, 공격, 피격 등)을 처리하는 시스템.
- 매 프레임마다 특정 조건을 만족하는 Entity들을 찾아내어 작업을 실행함.
4. State Tree
- 병사들의 행동 상태를 트리로 관리함.
- 예: “대기” → “적 발견” → “이동” → “공격” 같은 상태 변화 로직.
- Behavior Tree보다 더 빠르고 설계가 명확함. 데이터 기반 상태 머신.
5. Mass Crowd
- 병사들이 부딪히지 않도록 경로를 자동 계산해주는 시스템.
- UE5에 기본 탑재된 Crowd Simulation 기능과 연동됨.
- 나브 메시 기반으로 유닛 간 거리 유지하며 자연스러운 이동 구현 가능.

우선 Mass AI 플러그인을 먼저 설치합니다.

사용할 NPC캐릭터에 MassAgent 컴포넌트를 부착해줍니다.

위처럼 데이터 에셋 작성해줍니다.

https://www.youtube.com/watch?v=4KgIiq6s_yM
설명 되어있는 강의 추천)
결과)

'UnrealEngine' 카테고리의 다른 글
| [UnrealEngine5] AnimMontage 슬롯 (0) | 2025.05.28 |
|---|---|
| [UnrealEngine] Perforce 초기 설정 (0) | 2025.05.26 |
| [UnrealEngine] 구조체, 데이터 테이블 (0) | 2025.05.20 |
| [UnrealEngine5] 타임라인(문), SpawnActor 블루프린트 예제 (0) | 2025.05.14 |
| [UnrealEngine] 디버깅을 시작할 수 없습니다. 프로젝트 속성을 열고 (0) | 2025.05.08 |