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를 만들어야하고
만드는 방법도 알아봤다.
'Unreal 게임 개발 > Unreal C++ 공부' 카테고리의 다른 글
C++ 람다 표현식 (Lambda expression) (0) | 2024.09.05 |
---|---|
Unreal Module 추가 방법 (0) | 2023.01.26 |
Unreal Axis Mapping (Unreal 움직임 만들기) (0) | 2023.01.22 |
Unreal Class Default Object (0) | 2023.01.17 |
Unreal DeltaTime (0) | 2023.01.15 |