언리얼 엔진의 UObject와 AActor에 대해 정리해보았습니다.
구글링 및 Gemini를 참고했습니다.
1. UObject
언리얼 엔진에서 관리되는 최상위 기본 클래스입니다.
- 특징: 월드에 존재(배치)할 수 없으며, 형체가 없습니다.
- 제공 기능:
- 리플렉션 시스템 : UObject는 UCASS, UPROPERTY, UFUNCTION 매크로를 통해 언리얼 엔진의 리플렉션 시스템을 사용할 수 있습니다. 덕분에 에디터에서 속성을 조작하거나 블루프린트 연동, 저장 및 로드 될 수 있습니다.
- 가비지 컬렉션 : UObject를 상속받은 객체는 언리얼엔진의 GC에 의해 자동으로 메모리 수명주기가 관리됩니다.
- 직렬화 : 자신의 속성을 저장하고 불러올 수 있습니다. 게임상태를 저장하거나 네트워크를 통해 객체 데이터를 전송할 때 유용합니다.
- 에디터 기능 : 콘텐츠 브라우저에 표시되거나, 디테일 패널에서 속성을 편집할 수 있고 블루프린트 연동이 가능합니다.
- 사용 예: 데이터 저장용 에셋, 인벤토리 아이템 정보, 스킬 데이터 등 데이터 중심의 객체.
2. AActor
UObject를 상속받아 월드(Level)에 배치될 수 있게 만든 객체입니다.
- 특징: SpawnActor를 통해 생성되며, 생명주기(BeginPlay, Tick, EndPlay)를 가집니다.
- 생성한 Actor는 명시적으로 삭제가 필요합니다.
- 단, Level이 언로딩되면 생성된 모든 Actor들이 삭제됩니다.
- 핵심 기능:
- Transform : 위치, 회전, 크기 정보를 가집니다.
- 주의점: 액터 자체는 '위치 정보(Transform)'가 없습니다. 위치를 가지려면 반드시 USceneComponent를 RootComponent로 가져야 합니다.
- 네트워크 복제(Replication): 서버-클라이언트 간 동기화가 가능합니다. (네트워크를 통해 자신의 상태를 클라이언트들에게 복제하는 기능을 제공합니다.)
- 컴포넌트 소유: UActorComponent를 상속받는 여러 컴포넌트들로 기능을 확장할 수 있습니다.
- Transform : 위치, 회전, 크기 정보를 가집니다.
3. APawn: 조작이 가능한 액터 (AI나 유저가 빙의 가능).
4. ACharacter: 걷기, 점프 등 물리 기반 이동 로직이 포함된 고성능 Pawn.
'GameDevelop > UnrealEngine' 카테고리의 다른 글
| TArray, TMap (1) | 2026.01.10 |
|---|---|
| UnrealEngine - 언리얼엔진의 UI 렌더링 과정 (1) | 2025.12.31 |
| UnrealEngine - Garbage Collection(GC) (0) | 2025.12.18 |
| UnrealEngine - 변수 UI에 붙이기 (블루 프린트 사용) (7) | 2024.09.14 |
| UnrealEngine - UPROPERTY / 코드 변경사항 에디터에 즉시 적용 / 라이브 코딩 (0) | 2024.09.10 |