У нас есть приложение Unity, которое содержит более 700 изображений, прямо сейчас размер сборки является для нас реальной проблемой, поэтому мы изучаем, как уменьшить размер сборки.
Мы хотели загрузить изображения с нашего сервера, поэтому мы создали небольшой скрипт, который загружает изображения:
public IEnumerator LoadImages(List<string> imageNames, System.Action<int> callback) {
int downloadedImages = 0;
foreach (string imageName in imageNames) {
string imageUrl = spriteNamesAndUrls[imageName];
var www = new WWW(imageUrl);
yield return www;
Texture2D texture = new Texture2D(1, 1);
www.LoadImageIntoTexture(texture);
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.one/2);
sprites.Add(imageName, sprite);
downloadedImages += 1;
}
callback(downloadedImages);
}
(я упростил код для этого вопроса)
Проблема с этим скриптом в том, что я вынужден конвертировать сотни изображений в спрайты / текстуры, и это ненужная проблема, с которой нужно иметь дело, учитывая, что нам никогда не понадобится рендерить более 20 спрайтов в одной сцене. .
Итак, теперь я изучаю использование пакетов Asset, которые, кажется, являются встроенным решением.
У меня вопрос,
Является ли Asset Bundle хорошим решением для уменьшения размера моей сборки WebGl по сравнению со сценарием, приведенным выше?
примите во внимание, что у меня есть папка с активами с более чем 700 изображениями (всего 19 МБ)