11
08

c++에서는 인스턴스를 만들어야만 조사식으로 해당 내부 정보를 확인 가능하다.

c#이나 java에서는 리플렉션 기능이 있어서 할당하지 않아도 그 정보를 알 수 있는데

c++이라는 제약에서 언리얼 엔진에서는 리플렉션 기능을 지원한다.

 

언리얼 엔진에는 4개의 에셋 참조가 있다.

 

ObjectReference

엑터 인스턴스에 대한 하드 참조가 된다.
즉, 참조된 클래스가 인스턴스화 되고 참조된 리소스도 인스턴스화 된다.
이는 참조된 리소스가 메모리에 로드 된다는 단점이 있다.


Class Reference

UObject 클래스에 대한 참조가 된다.
C++에서 TSubclassOf가 해당된다.

언리얼 엔진이 컴파일 전에 메타 소스 파일과 헤더 파일을 생성한다. 

이러한 정보는 언리얼 엔진이 UClass 클래스에 보관된다.

컴파일 단계에서 UClass 클래스가 생기고

실행 초기 런타임에서는 오브젝트 마다 클래스 정보와 오브젝트의 인스턴스가 생성된다

인스턴스가 CDO (클래스 기본 객체)이다. 


Soft Object Reference

C++의 TSoftObjectPtr 가 해당된다.
FSoftObjectPath : 리소스의 전체 이름이 포함된 문자열 구조.
FSoftObjectPtr : UObject에 대한 약한 포인터, 디스크의 오브젝트 경로도 추적한다.  모든 구현은 TPersistentObjectPtr<FSoftObjectPath>가 된다.


Soft Class Reference

C++의 TSoftClassPtr 가 해당된다.
UObject에 해당하는 UClass를 반환한다.

COMMENT