본문 바로가기
Unreal 게임 개발/Unreal C++ 공부

Unreal Default Subobject

by daisy0461 2023. 1. 18.

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를 만들 때 몇가지 정보를 줘야한다.

  1. Subobject의 Object Type을 정해줘야한다.
    예를 들어 UStaticMeshComponent를 사용한다면 이 Type을 제공해줘야한다.
  2. 그리고 이름을 붙여줘야한다.

이 두가지를 만족시키면서 사용할 수 있는 함수가

CreateDefaultSubobject<Type>(Name)    이다.

예시로는 CreateDefaultSubobject<UStaticMeshComponent>(TEXT("AOjbectMesh")) 처럼 사용한다.

이 함수는 새롭게 만들어진 Subobject의 주소값을 Return한다. 즉, Pointer에 저장이 가능하다.

 

이렇게 C++에서 새로운 Component를 만들려면 Default Subobject를 만들어야하고

만드는 방법도 알아봤다.