Unreal

3. Reflection System

Kelvin의 게임개발 2023. 11. 18. 12:06
728x90
반응형

1. Reflection System

 

기본 C++에는 Reflection기능이 없지만 UE에는 내장되어 있다

 

Refelection 시스템이란 원하는 데이터를 BP에 노출시킬 수 있게 하는 기능, Garbage Collection (GC)로 메모리 할당/해제를 자동으로 해주는 기능 (더 이상 사용되지 않는 Object의 메모리를 자동으로 해제한다), 직렬화, 네트워크 리플리케이션 등의 기능이다

 

대표적인 Reflection 매크로에는 UENUM(), USTRUCT(), UCLASS(), UPROPERTY(), UFUNCTION()등이 있다

 

Reflection을 적용하기 위해서는 Class 헤더파일에 클래스명.generated.h”include 되어야 한다 (자동생성)

이 헤더가 있어야 Reflection시스템에서 이 클래스를 인지하고 Reflection시스템 구현이 필요함을 UHT (Unreal Header Tool) 에 알려준다

UHT ClassReflection을 위한 여러 매크로 및 키워드를 분석하고 그 결과에 따라 필요한 부가 정보를 위에 선언한 generated.h에 생성한다

(항상 헤더 선언부 마지막에 generated.h include 해야함)

 

추가로 Class에는 GENERATED_BODY()가 자동으로 추가되는데 이는 언리얼 클래스에서 언리얼 시스템에서 사용하는 함수인 Super::와 같은 typedef를 사용할 수 있게 해준다

728x90
반응형

'Unreal' 카테고리의 다른 글

6. Moving Object & Trig Function(삼각함수)  (131) 2023.12.08
5. Actor Class & Debug(2)  (42) 2023.12.05
4. Actor Class & Debug(1)  (1) 2023.12.05
2. Vector & Rotator & Trigonometry  (0) 2023.11.18
1. Getting Start Unreal Engine  (2) 2023.11.18