상세 컨텐츠

본문 제목

언리얼 프로퍼티 (리플렉션)

Study/UNREAL

by J2on 2024. 2. 7. 01:44

본문

리플렉션 - 프로그램이 실행시간동안 자기 자신을 조사하는 기능

 

클래스, 함수, 멤버 변수, Enum타입을 확인하고 정보 수집 / 질의를 통해 조사한다.

(데이터 직렬화나 가비지 컬렉션에서도 사용되는 기술)

 

C++는 리플렉션 기술을 지원하지 않으나, 언리얼이 자체적으로 지원한다.

 

이것이 언리얼 프로퍼티 시스템이다.

#include "~~~~~.generated.h" 를 통해 리플렉션이 이 파일을 포함해야 한다고 선언

 

UFUNCTION
UPROPERTY
UCLASS
UENUM
USTRICT

 

이런 매크로를 추가하여 언리얼 프로퍼티 시스템이 해당 (변수 함수 Enum 등)을 인식하게 한다. 

 

UPROPERTY(EditDefaultsOnly, Category=Pawn)

 

블루프린트에서 어떻게 접근할 수 있는지, Category분류는 무엇인지에 대한 정보를 담을 수 있다.

 

그리고 이러한 매크로를 추가한다면 Unreal에서 자동으로 메모리 관리를 진행한다.

마치 가비지 컬렉션처럼

 

리플렉션을 사용하는 이유
게임 엔진에게 매크로를 통해 정보를 넘겨줄 수 있다.
→ 멀티 게임에서 서버로 정보를 보내는 네트워크 리플리케이션이 가능해짐
메모리 관리

 

 

https://www.unrealengine.com/ko/blog/unreal-property-system-reflection

 

언리얼 프로퍼티 시스템 (리플렉션)

리플렉션(Reflection)은 프로그램이 실행시간에 자기 자신을 조사하는 기능입니다. 이는 엄청나게 유용한 데다 언리얼 엔진 테크놀로지의 근간을 이루는 것으로, 에디터의 디테일 패널, 시리얼라

www.unrealengine.com

 

관련글 더보기

댓글 영역