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

标签 c++ unreal-engine4 fbx

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

相关文章:

unreal-engine4 - Android 中颠倒创建的图像

c# - 在运行时将网格转换为 STL/obj/fbx

c++ - 如何正确读取 DirectX 的 FBX 2014 索引?

c++ - 使用 boost.python 从 C++ 将变量导出到 python

c++ - 存储一组指针会导致未定义的行为吗?

c++ - 使用 free 时内存使用量没有减少?

android.hardware.Camera 每两次都无法打开

C++ 模板尖括号陷阱 - 什么是 C++11 修复?

c++ - 相机抖动未激活 Unreal C++

java - LibGDX 3d 模型纹理无法正确渲染