무민은귀여워

언리얼 4 c++ 블루프린트에서 애셋경로(이미지)로 이미지 생성하기 본문

IT/Unreal Engine 4

언리얼 4 c++ 블루프린트에서 애셋경로(이미지)로 이미지 생성하기

moomini 2019. 9. 26. 19:40
반응형

HUD 에 넣을 이미지를 데이터테이블에서 경로만을 읽어와 설정하고 싶었다.

 

위와 같이 화면에 소유한 재화(골드 등)을 표시할 때, 골드 이미지 등을 테이블에서 읽어온 경로의 것으로 보여주고 싶었다.

 

결론은 언리얼(네이티브 코드)에서 제공하는 StaticLoadObject를 이용하면 된다.

 

일련의 과정은 다음과 같다.

  • 테이블로 사용할 엑셀파일로부터 .csv 파일을 만든다.
  • c++ 코드에 테이블 구조체를 추가
  • c++ 네이티브 엔진 코드를 이용하여 블루프린트에서 사용할 수 있는 함수를 만든다.
  • 이미지를 생성하고 싶은 블루프린트에서 앞서 생성한 함수를 사용

테이블생성 및 사용은 이미 되어 있다고 하고(테이블에는 이미지 경로인 /Game/Texture/Tex_spare_parts_11_b 등이 들어 있다), 

GameInstance에서 사용할 함수를 생성, 블루프린트에서 사용하는 예이다.

 

1
2
3
4
5
6
// GameInstance.h
 
class UTexture2D;
 
UFUNCTION(BlueprintCallable)
UTexture2D* LoadTextureFromPath(const FString& Path);
cs

 

1
2
3
4
5
6
7
8
9
// GameInstance.cpp
 
#include "Engine/Texture2D.h"
 
UTexture2D* UMiniGameInstance::LoadTextureFromPath(const FString& Path)
{
    UTexture2D* sprite = Cast<UTexture2D>(StaticLoadObject(UTexture2D::StaticClass(), nullptr,*Path));
    return sprite;
}
cs

 

이미지 브러쉬 설정

 

 

 

 

 

 

 

반응형
Comments