首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取unity assetbundle清单?

如何获取unity assetbundle清单?
EN

Stack Overflow用户
提问于 2020-01-20 17:03:43
回答 2查看 1.1K关注 0票数 0

下面是我的代码:

代码语言:javascript
复制
AssetBundle ab = AssetBundle.LoadFromFile(Application.dataPath + "/uia.manifest");//get null here
AssetBundleManifest manifest = (AssetBundleManifest)ab.LoadAsset("AssetBundleManifest");
EN

回答 2

Stack Overflow用户

发布于 2020-01-21 01:52:24

看一看Using AssetBundles Natively,特别是Loading AssetBundle Manifests一节

加载AssetBundle清单的

非常有用。尤其是在处理AssetBundle依赖关系时。

要获得可用的AssetBundleManifest对象,您需要加载额外的AssetBundle (的名称与中的文件夹名称相同),并从中加载AssetBundleManifest类型的对象。

加载清单本身的过程与从AssetBundle加载任何其他资产的过程完全相同:

AssetBundle assetBundle = AssetBundle.LoadFromFile(manifestFilePath);AssetBundleManifest清单= assetBundle.LoadAsset("AssetBundleManifest");

尽管没有很好的文档,但老实说,在AssetBundles.LoadFromFile周围的示例中,您可以看到它们不加载 "Example.manifest" as AssetBundle,而只加载没有后缀的"Example"

因此,在您的例子中,它似乎被放在Assets/uia中,并且您将以AssetBundle格式加载此归档文件,而不是其中的特定文件。

代码语言:javascript
复制
AssetBundle assetBundle =  AssetBundle.LoadFromFile(Path.Combine(Application.dataPath, "uia"));
AssetBundleManifest manifest = assetBundle.LoadAsset<AssetBundleManifest>("AssetBundleManifest");

另请参阅AssetBundle Manual

“AssetBundle”可以指两个不同但相关的事物。

首先是磁盘上的实际文件。这称为AssetBundle存档。AssetBundle存档是一个容器,就像文件夹一样,它在中保存额外的文件。

清单是这个归档文件的一部分,只能通过加载AssetBundle然后从中获取清单来加载→!

票数 1
EN

Stack Overflow用户

发布于 2021-03-05 19:25:11

必须在AssetBundle.LoadFromFile中加载的文件是文件Assets,该文件存储在与AssetBundle uia相同的文件夹中。此Assets文件的名称与存储文件夹的名称相同,在本例中为Assets。您的代码将如下所示:

代码语言:javascript
复制
AssetBundle ab = AssetBundle.LoadFromFile(Application.dataPath + "/Assets");
AssetBundleManifest manifest = (AssetBundleManifest)ab.LoadAsset("AssetBundleManifest");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59819909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档