Unreal LoadObject 함수 변수 사용

개요

Unreal 에서 애셋 참조 방법이 여러가지 있습니다. 그 중 LoadObject 함수를 사용하여 경로를 인수로 지정하면 참조 가능합니다. 그런데 상황에 따라 여러가지 애셋을 조건에 따라 참조해야 하는 경우가 있습니다. 이럴 때 어떻게 해야 하는지 알아보도록 하겠습니다.

LoadObject 기본 사용 법

LoadObject 의 기본 사용법을 찾아보면 다음과 같이 되어 있는 경우가 많습니다.

GridTexture = LoadObject<UTexture2D>(NULL, TEXT("/Engine/EngineMaterials/DefaultWhiteGrid.DefaultWhiteGrid"), NULL, LOAD_None, NULL);

TEXT … 이 부분이 하드코딩 되어있는 형태임을 알 수 있습니다. 상황에 따라서 변수로 치환해서 사용하면 코드를 많이 줄일 수 있습니다.

변수 사용 방법

사용할 애셋을 선택하고 우측 마우스 버튼을 클릭하면 다음의 메뉴가 나타납니다.

애셋을 선택 후 마우스 우측 버튼을 클릭하면 나타나는 메뉴

Copy Reference 를 선택하면 다음과 같은 형태의 문자열이 복사됩니다.

/Script/Engine.DataTable'/Game/YourGame/Core/Stage01.Stage01'

위에서 예로 든 문자열에서 Stage01 부분의 숫자를 변수 형태로 바꾸어 참조하면 다음과 같습니다.

FString StageString = "";
//Set your StageString
...
FString StageReference = "/Script/Engine.DataTable'/Game/YourGame/Core/Stage" + StageString + ".Stage" + StageString + "'";
UDataTable* StageDataTable = LoadObject<UDataTable>(NULL, *StageReference, NULL, LOAD_None, NULL);

이렇게 하면 상황에 따라 유연하게 애셋을 참조할 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Time limit is exhausted. Please reload the CAPTCHA.