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를 반환한다.
'STUDY > Unreal Engine' 카테고리의 다른 글
Unreal Engine 5 - 비헤이비어 트리(Behavior Tree)를 사용한 AI 캐릭터 랜덤 이동 및 타겟 이동 (Move to Tar (0) | 2021.11.18 |
---|---|
Unreal Engine 5 - 애니메이션 리타겟팅, 애니메이션 재사용 (Animation Retargeting) (0) | 2021.11.18 |
Unreal Engine 5 - 블루프린트 이벤트 인터페이스와 이벤트 디스패처에 대해서 (Blueprint interface, EventDispatcher (0) | 2021.11.11 |
Unreal Engine - 언리얼 엔진의 기본 용어 (액터, 폰 캐릭터 등등) (0) | 2021.11.09 |
언리얼 프로젝트 생성 시도 중 오류가 발생했습니다. (0) | 2021.11.08 |