我正在尝试在游戏过程中将 .fbx 文件从外部文件加载到我的游戏中。 我创建了一个函数来从路径加载网格,但是函数“LoadMeshFromFile”返回 NULL,我尝试将路径更改为现有 .uasset 的路径并且它工作正常,但是我的目标是导入 .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 文件。 您需要使用一些外部插件来做到这一点
关于c++ - UE4 从外部 .FBX 文件创建 UStaticMesh 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63440542/