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

Posted

技术标签:

【中文标题】UE4 从外部 .FBX 文件创建 UStaticMesh 返回 NULL【英文标题】:UE4 Creating a UStaticMesh from an external .FBX file returns NULL 【发布时间】:2020-12-05 23:32:52 【问题描述】:

我正在尝试在游戏过程中将 .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()));


【问题讨论】:

【参考方案1】:

您无法在 ue4 运行时直接加载 fbx 文件。 你需要使用一些外部插件来做到这一点

【讨论】:

查看这些链接 unrealengine.com/marketplace/en-US/product/… reddit.com/r/unrealengine/comments/4i5qjp/…

以上是关于UE4 从外部 .FBX 文件创建 UStaticMesh 返回 NULL的主要内容,如果未能解决你的问题,请参考以下文章

UE4 FBX静态网格物体通道

FBX 导入崩溃 UE4

fbx模型导入ue4法线反了

我想将外部 fbx 文件导入独立的统一项目

unity 3d发布的exe程序可以从外部(比如同文件夹下的一个fbx文件)读取模型到场景中吗?

UE4在运行时导入动画