Unity - Посібник Часті питання про AssetBundles

Як я можу використовувати AssetBundle?

Два важливі етапи задіяні під час роботи з AssetBundle'ами. На першому етапі відбувається завантаження AssetBundle з сервера або диска. Це відбувається за допомогою класу WWW. На другому етапі завантажуються ассети з AssetBundle для використання в додатку. Ось приклад C# скрипту:

Цей скрипт доданий на GameObject як Component. AssetBundle завантажується так:

Зауважте, що для простоти попереднього прикладу він не робить перевірок на безпеку. Будь ласка, для більш повного прикладу погляньте сюди.

Попередній скрипт слід зберегти у файлі з ім'ям ExampleLoadingBundle.cs всередині папки Assets. Після встановлення публічним змінним коректних значень та запуску скрипта, він, використовуючи клас AssetBundleLoader, завантажить ассет. Далі ассет буде створено та відображено з використанням GUI.

Як кешувати AssetBundle'и?

Ви можете використовувати функцію WWW.LoadFromCacheOrDownload, яка автоматично збереже ваші AssetBundle на диск. Будьте уважні, оскільки Webplayer обмежений розміром 50МБ (загальне для всіх веб-програвачів). Ви можете придбати окрему ліцензію для гри, якщо вам потрібно більше простору для кешу.

Якщо ваші AssetBundle'и зберігаються у папці StreamingAssets у вигляді розпакованих AssetBundle'ів, ви можете використовувати AssetBundle.CreateFromFile для звернення до AssetBundle'у на диску. Якщо AssetBundle у папці StreamingAssets стиснуті, вам доведеться використовувати WWW.LoadFromCacheOrDownload для створення розпакованої копії AssetBundle в кеші.

Чи крос-платформні AssetBundle'и?

AssetBundle' сумісні для деяких платформ. Скористайтеся наступною таблицею длякерівництва.