UE4从外部.FBX文件创建UStaticMesh返回NULL

问题描述

我正在尝试在游戏过程中将.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文件。 您需要使用一些外部插件来做到这一点