如何在 Unity 运行时加载 FBX 文件?

Red*_*ngs 3 c# unity-game-engine fbx

我正在做一个 hololens 项目。我老板说,在运行时加载fbx文件(我们使用unity)。我们的 fbx 文件在运行时更改,因此我们必须重新加载它(fbx 是从 3dMAx 更改的)。

我尝试了 AssetBundle,但是如果没有 unity 或 unity 编辑器模式,我无法创建 Assetbundle 文件。据我所知,只有资源(在项目选项卡中)可以将资产插入资产包。如果我可以在没有统一项目的情况下通过 fbx 文件构建 Assetbundle 文件,我就可以做到。

总结一下:我需要如何在没有统一资源的情况下在运行时加载 fbx 的方法。如果我在运行时将 fbx 资产设置为 assetbundle(fbx 不属于项目选项卡),那就没问题了。


编辑)

使用 trilib 资产是最好的方法。我尝试制作自己的 FBX 加载器,这太难了,而且工作量很大。我认为trilib并不完美,但它是最好的。

per*_*rza 5

您可以考虑将 FBX 转换为 glTF,Unity 可以在运行时使用 UnityGLTF 工具加载它。

https://github.com/KhronosGroup/UnityGLTF


Ron*_*ang 4

您可以阅读以下内容:

是否有一种简单的方法来导入 fbx-files-runtime

简而言之:不。

Unity 不支持在运行时导入/加载任何模型格式。唯一的例外是 AssetBundle。您的选择基本上是:

  • 使用AssetBundle

  • 查找适合您所需 Unity 格式的导入程序

  • 自己写一个这样的导入器

  • 查找功能请求/自己编写一个功能请求,询问 UT 他们是否添加运行时模型加载例程。

如何在运行时将 3ds-fbx-model 转换为 asset-bundle

有没有可以将 3D 模型转换为资源包的工具?或者是否可以在运行时转换它们?

您不能在运行时执行此操作,因为用于创建 Assetbundle 的每个 Unity API 只能在编辑器插件的编辑器上使用。

我搜索了很多网站来回答这个问题。最后,我建议你可以使用这个资源。它不是免费的,但是值得的。它可以为你节省很多时间。

trilib-unity-模型加载器

我希望这可以帮助你。