Saltant писал(а):Jags писал(а):Saltant писал(а):Выводи прогресс по количеству загруженных бандлов, так оно правильней.
Типа "Загрузка текстур 1/1000" и т.д
Как вариант, подумывал об этом. Сейчас проведу пару тестов, - отпишусь. Вообще, странное дело, ибо я не один такой с такой же проблемой, да ещё и без ответа.
хз я не считаю это "проблемой", т.к ваще то что ты пытался делать это не для UI а для логики, когда например те нада подождать окончания загрузки что бы начать выполнять что то еще. В остальных случаях делается как я те выше написал, такая UI логика.
Нуу, частично же работает классно. Они сами в документации показывают способ, как можно вывести процент загрузки бандла... Очень интересно, как по мне.
Столкнулся с другой проблемой. У меня есть бандлы, которые содержат разные изображения, но одинаковые имена и количество объектов. По логике, он должен выгрузить перед загрузкой нового бандла, но пишет - can't be loaded because another AssetBundle with the same files is already loaded. Например, если я загружаю бандлы: ab0.a0, ab0.a1, ab0.a2 - нормально. После этого загружаю ab1.a0(нормально), ab1.a1(ошибка). Надеюсь, что понятно расписал ситуацию.
Используется csharp
AssetBundle assetBundle;
public IEnumerator LoadAssetBundle(string path)
{
if (assetBundle != null)
sprites.Clear();
assetBundle.Unload(true);
while (!Caching.ready)
yield return null;
AssetBundleCreateRequest assetBundleCreateRequest = AssetBundle.LoadFromFileAsync(path);
yield return assetBundleCreateRequest;
assetBundle = assetBundleCreateRequest.assetBundle;
if (assetBundle == null)
yield break;
sprites.AddRange(assetBundle.LoadAllAssets<Sprite>().OrderBy(x => Int32.Parse(x.name)).ToList());
}
StartCoroutine(LoadAssetBundle("Assets/Resources/ab"+ num + ".a" + n));