Unreal Engine/[EpicGames] UE5 기본 문법
1. TSubclassOf
헛둘이
2024. 10. 13. 14:59
본 카테고리는 언리얼 공부 중 문법적으로 궁금한거나 알아두어야 할 중요한 부분들에 대해서 명확하게 알기 위해 공식 도큐먼트를 참고하여 저장해두기 위한 카테고리입니다.
1. 의미 (공식 도큐먼트에서 정의하는 문법적 의미)
2. 특징 (해당 구문의 특징)
3. 예시 (예제를 통한 사용처)
와 같이 정리합니다.
1. 의미
- 특정 클래스의 서브 클래스를 지정하거나 관리하기 위한 클래스입니다.
2. 특징
2-1. 타입 안정성 제공
- 특정 클래스의 서브 클래스만 할당할 수 있기 때문에 의도하지 않은 클래스 타입이 들어오는 것을 방지할 수 있습니다.
2-2. 템플릿 형식
- 템플릿 클래스이며, 타입을 설정할 때 기본 클래스를 설정해주어야 합니다.
2-3. Blueprint 친화성
- Blueprint 변수로 설정할 수 있고 그러면 드롭다운 형태로 선택이 가능합니다.
3. 예시
// 클래스 멤버 변수로 선언
TSubclassOf<AActor> ActorClass;
// 특정 함수에서 사용
void SpawnMyActor(TSubclassOf<AActor> InActorClass)
{
// UWorld::SpawnActor는 TSubclassOf와 호환되므로 바로 사용 가능
GetWorld()->SpawnActor<AActor>(InActorClass);
}