Страница 2 из 2

Re: Работа с AssetBundle.

СообщениеДобавлено: 23 сен 2022, 19:48
Jags
Saltant писал(а):Выводи прогресс по количеству загруженных бандлов, так оно правильней.
Типа "Загрузка текстур 1/1000" и т.д

Как вариант, подумывал об этом. Сейчас проведу пару тестов, - отпишусь. Вообще, странное дело, ибо я не один такой с такой же проблемой, да ещё и без ответа.

Re: Работа с AssetBundle.

СообщениеДобавлено: 23 сен 2022, 20:27
Saltant
Jags писал(а):
Saltant писал(а):Выводи прогресс по количеству загруженных бандлов, так оно правильней.
Типа "Загрузка текстур 1/1000" и т.д

Как вариант, подумывал об этом. Сейчас проведу пару тестов, - отпишусь. Вообще, странное дело, ибо я не один такой с такой же проблемой, да ещё и без ответа.

хз я не считаю это "проблемой", т.к ваще то что ты пытался делать это не для UI а для логики, когда например те нада подождать окончания загрузки что бы начать выполнять что то еще. В остальных случаях делается как я те выше написал, такая UI логика.

Re: Работа с AssetBundle.

СообщениеДобавлено: 18 окт 2022, 21:30
Jags
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));