我想加载位于“资源”文件夹外部的“动态”资源(特别是 FBX 文件),以便用户可以添加/删除/修改文件,而无需重新构建项目.
为了使用户在不同类型的设备(目标平台是桌面/android/ios)中轻松访问这些文件,使用 Application.persistentDataPath
或 Application 似乎是合理的。流 Assets 路径
。
现在的问题是:如何加载它们(作为正确的 Unity 对象)?
- 这显然无法通过 Resources.Load() 完成,因为它们位于“Resources”文件夹之外。
- 使用 WWW,检索文件应该很容易,并且它实际上可以适用于某些类型的文件(例如纹理,请参阅 http://docs.unity3d.com/ScriptReference/WWW-texture.html ),但我找不到加载其他文件的方法。
这个想法是我希望能够像这样使用那些加载的对象:
(GameObject) 实例化(loadedObject, new Vector3(0, 0, 0), Quaternion.identity);
我非常感谢您的帮助(最好是不需要“专业许可证”的解决方案)。
最佳答案
我知道在这种情况下您可以尝试使用两个选项:
- 构建 asset bundle对于您想要加载的每个动态资源,但这似乎并不是您真正想要的,因为用户仍然必须使用 Unity3d 来生成资源包。
- 使用自定义 3D 模型加载器,如 post 中所述,似乎最适合您的情况。
关于unity-game-engine - 从 'resources' 文件夹外部加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38523751/