Работа с AssetBundle.

Общие вопросы о Unity3D

Re: Работа с AssetBundle.

Сообщение Jags 23 сен 2022, 19:48

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

Как вариант, подумывал об этом. Сейчас проведу пару тестов, - отпишусь. Вообще, странное дело, ибо я не один такой с такой же проблемой, да ещё и без ответа.
Jags
UNец
 
Сообщения: 24
Зарегистрирован: 23 июн 2022, 23:11

Re: Работа с AssetBundle.

Сообщение Saltant 23 сен 2022, 20:27

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

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

хз я не считаю это "проблемой", т.к ваще то что ты пытался делать это не для UI а для логики, когда например те нада подождать окончания загрузки что бы начать выполнять что то еще. В остальных случаях делается как я те выше написал, такая UI логика.
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2235
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: Работа с AssetBundle.

Сообщение Jags 18 окт 2022, 21:30

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));
 
Jags
UNец
 
Сообщения: 24
Зарегистрирован: 23 июн 2022, 23:11

Пред.

Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 8


cron