Data Asset
Unreal engine에서 파일에 저장된 데이터를 읽어오거나,
파일로 데이터를 저장하는 형태로 데이터를 사용해야 하는 상황이 생길 수 있다.
이러한 상황에서 엔진에서 지원하는 data asset을 이용하면 효과적이다.
Data asset을 이용하기 위해서 먼저 사용하고자 하는 data 형태를 c++로 작성한다.
Data Asset 정의하기
#include "Engine/DataAsset.h"
UCLASS()
class TESTWORLD_API UCustomDataAsset : public UPrimaryDataAsset
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere)
FString itemName;
UPROPERTY(EditAnywhere)
UBlueprint* itemBlueprint;
UPROPERTY(EditAnywhere)
FColor itemColor;
UPROPERTY(EditAnywhere)
FVector loc;
UPROPERTY(EditAnywhere)
FQuat rot;
};
이제 editor에서 실제 데이터 테이블 에셋 파일을 생성한다.
그 후, 콘텐츠 브로우저 -> 신규추가 -> 기타 -> 데이터 에셋 클래스 선택 창이 뜨면 CustomDataAsset를 선택하고,
만들어진 data asset에 원하는 데이터를 채운다.
Code에서 Data Asset 사용하기
#include "Public/CustomDataAsset.h"
#include "UObject/ConstructorHelpers.h"
...
static ConstructorHelpers::FObjectFinder<UDataAsset> DataAsset(TEXT("/Game/Data/CustomDataAsset.CustomDataAsset"));
if (DataAsset.Succeeded())
{
UDataAsset* dataAsset = DataAsset.Object;
UCustomDataAsset* data = Cast<UCustomDataAsset>(dataAsset);
UE_LOG(LogTemp, Warning, TEXT(" Data asset loc : %f %f %f"),
data->loc.X, data->loc.Y, data->loc.Z);
}
...
'게임 엔진 > Unreal' 카테고리의 다른 글
[Unreal] Animation Notify를 이용한 충돌처리 (AnimNotify, Collision) (0) | 2020.06.14 |
---|---|
[Unreal] Physics Body의 기하 정보를 이용한 충돌처리 (0) | 2020.06.13 |
[Unreal] [Example] 콘솔 커맨드 제작 방법 (Console Command) (0) | 2020.06.12 |
[Unreal] 디버깅용 드로워 이용 방법 (Draw Debug) (0) | 2020.06.11 |
[Unreal] 코드 단위 프로파일링 (Profile) (0) | 2020.06.01 |