Unreal 게임 개발/Unreal C++ 공부
Unreal Default Subobject
daisy0461
2023. 1. 18. 00:08
A라는 클래스가 있고 AMesh라는 Component를 추가한다고 가정해보자.
이 AMesh라는 Component를 추가하기 위해선 AMesh Default Subobject를 만들어야한다.
Default Subobject는 제가 썼던 주제 중 Class Default Object와 비슷하게 동작한다.
https://daisy0461.tistory.com/72
간단하게 모든 Default 프로퍼티를 갖고 있는 것이 Default Subobject이며
AMesh Default Subobject는 AMesh라는 Component의 Default 프로퍼티를 갖고 있는 것이다.
Default Subobject를 만들 때 몇가지 정보를 줘야한다.
- Subobject의 Object Type을 정해줘야한다.
예를 들어 UStaticMeshComponent를 사용한다면 이 Type을 제공해줘야한다. - 그리고 이름을 붙여줘야한다.
이 두가지를 만족시키면서 사용할 수 있는 함수가
CreateDefaultSubobject<Type>(Name) 이다.
예시로는 CreateDefaultSubobject<UStaticMeshComponent>(TEXT("AOjbectMesh")) 처럼 사용한다.
이 함수는 새롭게 만들어진 Subobject의 주소값을 Return한다. 즉, Pointer에 저장이 가능하다.
이렇게 C++에서 새로운 Component를 만들려면 Default Subobject를 만들어야하고
만드는 방법도 알아봤다.