본문 바로가기
[ Unreal5 ]/- 언리얼엔진5 실습

언리얼엔진5 c++ LoadClass

by MRG 2024. 11. 24.
728x90
반응형

 

▣ TSubclassOf
Unreal Engine에서 특정 클래스를 상속받는 클래스 타입을 저장하는 데 사용되는 템플릿입니다.
제한: TSubclassOf는 지정된 기반 클래스를 상속받는 클래스만 할당 가능하도록 제한합니다.

UUserWidget
Unreal Engine에서 UI를 제작할 때 사용하는 기반 클래스입니다.
UUserWidget은 UMG 위젯의 기능을 제공하며, 모든 UI 블루프린트 클래스는 이 클래스를 상속받습니다.
이 코드에서는 HUD(Head-Up Display) UI를 표시하기 위해 사용됩니다.

nullptr 초기화
TSubclassOf는 클래스의 타입 정보를 저장하는 변수이므로 초기화하지 않으면 쓰레기 값이 들어갈 수 있습니다.
= nullptr로 초기화하면 초기 상태를 명확히 하고, 불필요한 참조나 예외를 방지할 수 있습니다.

 

 

▣ LoadClass 함수
LoadClass는 런타임 시 특정 클래스를 메모리에 로드하기 위해 사용됩니다.
경로(TEXT("/Game/UMG/WB_HUD.WB_HUD_C"))를 통해 UMG 위젯 블루프린트(WB_HUD_C)를 찾고 메모리에 로드합니다.
이 함수는 C++ 클래스뿐만 아니라 블루프린트로 생성된 클래스(.uasset)를 로드할 때 유용합니다.

코드 목적:
이 코드는 HUDClass에 대한 초기화를 한 번만 수행하여 리소스 낭비를 방지하고, 런타임에서 동적으로 UMG 위젯을 로드할 수 있도록 합니다.

장점:
동적 로드: 특정 클래스가 런타임에만 필요할 경우 초기 메모리 사용량을 절약할 수 있습니다.
유연성: 위젯 클래스의 경로를 변경해 다른 위젯으로 교체가 용이합니다.
안전성: nullptr 확인으로 중복 로드 방지.

728x90
반응형

댓글