无法在运行时从datapersistentpath加载gameobject

时间:2018-11-04 02:12:03

标签: c# unity3d hololens

我在dataPersistentPath中有一个目录,该目录的名称为“ FBXFiles”。 所以访问是: Path.Combine(Application.persistentDataPath,“ FBXFiles”);

我想将此目录中的所有文件作为GameObjects(或UnityEngine.Object)加载 还有一件事,这个应用程序是用于Hololens的,所以我不能使用UnityEditor命名空间...

我该怎么做?我已经尝试过assetBundle,但是没有运气...我如何在运行时做到这一点...?

3 个答案:

答案 0 :(得分:1)

您不能这样做

FBX文件是需要导入并转换为Unity的(内部)格式的资产。您需要使用Asset Bundles

答案 1 :(得分:1)

Unity不支持在运行时将对象导入为游戏对象,因为它会优化它们并将它们在构建时和在编辑器中转换为可用于游戏的资产。您可以尝试包括一个库来加载这些对象,也许是像OBJ这样的开放源代码并使用材质创建新的游戏对象,但是我不确定这是否可行。或使用资产捆绑包,但是通常System.IO和资产捆绑包是不好的举动。 Unity内置了用于访问资产捆绑包的功能。
祝你好运。

答案 2 :(得分:0)

您可以使用资产捆绑包。

1-创建fbx模型的预制件

2-将预制件放入资产束中

3-下载资产捆绑包

4-在运行时实例化预制件。

并尝试使用Unity资产捆绑浏览器工具:

https://docs.unity3d.com/Manual/AssetBundles-Browser.html