Взгляните на Использование AssetBundles непосредственно , в частности, раздел Загрузка манифестов AssetBundle , где указано
Загрузка манифестов AssetBundle может быть невероятно полезной. Особенно при работе с зависимостями AssetBundle.
Чтобы получить пригодный для использования объект AssetBundleManifest, вам нужно загрузить этот дополнительный AssetBundle (тот, который назван так же, как папка, в которой он находится ) и загрузить из него объект типа AssetBundleManifest
.
Загрузка самого манифеста выполняется точно так же, как и любого другого актива из AssetBundle:
AssetBundle assetBundle = AssetBundle.LoadFromFile(manifestFilePath);
AssetBundleManifest manifest = assetBundle.LoadAsset<AssetBundleManifest>("AssetBundleManifest");
Хотя это не так если честно, хорошо документировано, в примерах AssetBundles.LoadFromFile
видно, что они не загружают "Example.manifest"
как AssetBundle
, а скорее только "Example"
без суффикса !
Так что в вашем случае он, похоже, помещен в Assets/uia
, и вы бы загрузили этот архив как AssetBundle, а не как указанный файл c.
AssetBundle assetBundle = AssetBundle.LoadFromFile(Path.Combine(Application.dataPath, "uia"));
AssetBundleManifest manifest = assetBundle.LoadAsset<AssetBundleManifest>("AssetBundleManifest");
Также см. AssetBundle
Руководство
«AssetBundle» может относиться к двум различным, но связанным вещам.
Первый - это фактический файл на диске. Это называется архивом AssetBundle. Архив AssetBundle представляет собой контейнер, как папка, в которой содержатся дополнительные файлы .
→ Манифест является частью этого архива и может быть загружен только путем загрузки AssetBundle, а затем взять манифест из него!