无法在运行时从数据持久路径加载游戏对象
can't load gameobject in runtime from datapersistentpath
我在dataPersistentPath 中有一个目录,目录名称是"FBXFiles"。
所以访问是:
Path.Combine(Application.persistentDataPath, "FBXFiles");
我想将此目录中的所有文件加载为游戏对象(或 UnityEngine.Object)
还有一点,这个应用程序是用于全息镜头的,所以我不能使用 UnityEditor 命名空间...
我该怎么做?我尝试过使用 assetBundle,但没有成功...我如何在运行时进行...?
你不能这样做
FBX 文件是需要导入并转换为 Unity(内部)格式的资产。您需要使用 Asset Bundles.
Unity 不支持在运行时将对象导入为游戏对象,因为它会在构建时和编辑器中优化它们并将它们转换为游戏就绪资产。您可以尝试包括一个库来加载这些对象,也许是像 OBJ 这样的开源对象,并使用材料创建新的游戏对象,但我不确定这是否可行。或者使用资产包,但通常 System.IO 和资产包是一个糟糕的举动。 Unity 内置了访问资产包的功能。
祝你好运。
您可以使用资源包。
1- 创建 fbx 模型的预制件
2- 将预制件放入资产包中
3- 下载资源包
4- 在运行时实例化预制件。
并尝试使用 Unity Asset Bundle Browser 工具:
我在dataPersistentPath 中有一个目录,目录名称是"FBXFiles"。 所以访问是: Path.Combine(Application.persistentDataPath, "FBXFiles");
我想将此目录中的所有文件加载为游戏对象(或 UnityEngine.Object) 还有一点,这个应用程序是用于全息镜头的,所以我不能使用 UnityEditor 命名空间...
我该怎么做?我尝试过使用 assetBundle,但没有成功...我如何在运行时进行...?
你不能这样做
FBX 文件是需要导入并转换为 Unity(内部)格式的资产。您需要使用 Asset Bundles.
Unity 不支持在运行时将对象导入为游戏对象,因为它会在构建时和编辑器中优化它们并将它们转换为游戏就绪资产。您可以尝试包括一个库来加载这些对象,也许是像 OBJ 这样的开源对象,并使用材料创建新的游戏对象,但我不确定这是否可行。或者使用资产包,但通常 System.IO 和资产包是一个糟糕的举动。 Unity 内置了访问资产包的功能。
祝你好运。
您可以使用资源包。
1- 创建 fbx 模型的预制件
2- 将预制件放入资产包中
3- 下载资源包
4- 在运行时实例化预制件。
并尝试使用 Unity Asset Bundle Browser 工具: