ConstructorHelpers
;생성자에서 에셋 로드 시 사용.
// 애셋에 대한 포인터를 가져옴.
static ConstructorHelpers::FObjectFinder<UStaticMesh> MyMesh(TEXT("/Game/../StaticMesh/MESH.MESH");
if (MyMesh.Succeeded())
{
Object->SetStaticMesh(MyMesh.Object);
}
|
cs |
StaticLoadObject
;런타임에서 에셋 로드 시 사용.
// StaticLoadObject.
void MyClass::SetContentMesh(const TCHAR* ContentPath)
{
USkeletalMesh* NewMesh= Cast<USkeletalMesh>(StaticLoadObject(USkeletalMesh::StaticClass(), NULL, ContentPath));
if(NewMesh)
{
SetSkeletalMesh(NewMesh);
}
}
// 템플릿화.
template <typename ObjClass>
static FORCEINLINE ObjClass* LoadObjFromPath(const FName& Path)
{
if(Path == NAME_None) return NULL;
//~
return Cast<ObjClass>(StaticLoadObject(ObjClass::StaticClass(), NULL,*Path.ToString()));
}
// Load PS From Path
static FORCEINLINE UParticleSystem* LoadPSFromPath(const FName& Path)
{
if(Path == NAME_None) return NULL;
//~
return LoadObjFromPath<UParticleSystem>(Path);
}
// Load Material From Path
static FORCEINLINE UMaterialInterface* LoadMatFromPath(const FName& Path)
{
if(Path == NAME_None) return NULL;
//~
return LoadObjFromPath<UMaterialInterface>(Path);
}
// Load Static Mesh From Path
static FORCEINLINE UStaticMesh* LoadMeshFromPath(const FName& Path)
{
if(Path == NAME_None) return NULL;
//~
return LoadObjFromPath<UStaticMesh>(Path);
}
|
cs |
'::protected > 언리얼4&5' 카테고리의 다른 글
액터(Actor)의 수명 주기. (0) | 2019.11.19 |
---|---|
UE_LOG (0) | 2019.11.18 |
CreateDefaultObject & NewObject (0) | 2019.11.18 |
게임이 시작되기 까지의 과정 (0) | 2019.11.12 |
컴포넌트(Component) (0) | 2019.11.12 |