问题描述
我正在尝试在游戏过程中将.fbx文件从外部文件加载到游戏中。 我创建了一个从路径加载网格的函数,但是函数“ LoadMeshFromFile”返回NULL,我试图将路径更改为现有.uasset的路径,并且效果很好,但是我的目标是导入一个。而是在游戏过程中将fbx文件添加到游戏中,因此为什么当我在磁盘上使用指向.fbx文件的路径时,该文件始终返回NULL,有没有办法使其工作? 这是我的代码:
UStaticmeshComponent* UObjectsCreator::CreateMeshComponentFromStaticmesh(const FName& Path)
{
UStaticmeshComponent* MeshComponent = CreateDefaultSubobject<UStaticmeshComponent>(TEXT("MynewstaticmeshComponent"));
MeshComponent->SetStaticmesh(LoadMeshFromPath(Path));
return MeshComponent;
}
// Load Static Mesh From Path
UStaticmesh* UObjectsCreator::LoadMeshFromPath(const FName& Path)
{
if (Path == NAME_None) return NULL;
//~
return LoadobjFromPath<UStaticmesh>(Path);
}
//TEMPLATE Load Obj From Path
template <typename ObjClass>
ObjClass* UObjectsCreator::LoadobjFromPath(const FName& Path)
{
if (Path == NAME_None) return NULL;
//~
return Cast<ObjClass>(StaticLoadobject(ObjClass::Staticclass(),NULL,*Path.ToString()));
}
解决方法
您无法在运行时在ue4中直接加载fbx文件。 您需要使用一些外部插件来做到这一点