Зменшення розміру упакованої гри

Як зменшити розмір упакованої гри.

Незалежно від того, на яку платформу націлений ваш проект UE4, зменшення розміру упакованої гри може бути складним завданням. У наступному посібнику ми розглянемо кроки, які ви можете зробити, щоб зменшити кінцевий розмір пакета ваших проектів до якомога меншого, використовуючи лише інструменти, надані вам в редакторі UE4.

Створення нового порожнього проекту

Коли ви вперше починаєте працювати над своїм мобільним проектом на базі Android, у вас може виникнути спокуса використати існуючий проект як основу для роботи з ним або створити новий проект із включеним початковим вмістом. Не робіть цього, натомість створіть абсолютно новий, порожній C ++ або Креслення за допомогою проекту Migration Tool, щоб передати вміст, який ви хочете використовувати. Таким чином, ви гарантуєте, що єдиним вмістом у вашому проекті є вміст, який повинен бути там.

Стиснення приготованого вмісту

Найпростіший і найшвидший спосіб зменшити розмір пакета APK - це сказати UE4 стискати пакети APK під час процесу упаковки. Щоб увімкнути стиснення пакетів, потрібно виконати наступне в редакторі UE4.

Спочатку відкрийте налаштування проекту, перейшовши на Головну панель інструментів і вибравши Редагувати параметр, а потім виберіть Налаштування проекту.

двигуна

У розділі Проект натисніть на Упаковка розділ, щоб показати варіанти упаковки проекту.

Клацніть для повного зображення.

Клацніть на Додаткові властивості це внизу налаштувань упаковки, щоб виставити Розширені налаштування проекту.

Клацніть для повного зображення.

Шукайте варіант із позначкою Створюйте стиснуті приготовлені пакети і ввімкніть його (якщо це ще не ввімкнено).

Клацніть для повного зображення.

Якщо ви не упакували свою гру з увімкненим прапорцем Створити стислі приготовлені пакети, ви повинні побачити величезну різницю в розмірі, коли ваш проект перепаковується з включеною програмою. Насправді, нерідкі випадки, коли пакети файлів .apk деяких проектів зменшуються в розмірі до 50%, коли Створюйте стиснуті приготовлені пакети увімкнено.

Спільні матеріальні шейдери та бібліотеки

Увімкнення обох Поділіться кодом шейдера матеріалу і Поділіться матеріальними рідними бібліотеками допоможе зменшити загальний розмір пакету вашого проекту, але це відбувається за рахунок збільшення часу завантаження. Щоб увімкнути цю опцію у своєму проекті UE4, вам потрібно буде зробити наступне:

По-перше, на Головна панель інструментів йти до Редагувати > Налаштування проекту.

У нижній частині Упаковка розділ, будуть вказані наступні два прапорці, які слід увімкнути.

Поділіться кодом шейдера матеріалу

Поділіться матеріальними рідними бібліотеками

Клацніть для повного зображення.

Виключаючи вміст редактора

Увімкнення цієї опції гарантує, що жоден вміст, який використовує редактор UE4, не буде упакований у ваш проект. Зверніть увагу, що ввімкнення цього може спричинити проблеми з відсутнім вмістом у проектах, які можуть використовувати вміст редактора. Щоб увімкнути ці два варіанти у своєму проекті UE4, вам потрібно буде виконати наступне:

По-перше, на Головна панель інструментів йти до Редагувати > Налаштування проекту.

У розділі Проект натисніть на Упаковка розділ, щоб показати варіанти упаковки проекту.

Клацніть для повного зображення.

Клацніть на Додаткові властивості це внизу налаштувань упаковки, щоб виставити Розширені налаштування проекту.

Клацніть для повного зображення.

Прокрутіть вниз, поки не побачите Виключайте вміст редактора під час приготування їжі опцію та ввімкніть її, натиснувши прапорець біля неї.

Клацніть для повного зображення.

Увімкнення цього може спричинити проблеми з відсутнім вмістом у проектах, які можуть використовувати вміст редактора.

Налаштування рівнів проекту

Часто ігнорувана область, яка може призвести до здуття розмірів пакетів файлів .apk ваших проектів, не дає змоги правильно встановити параметри проекту, наприклад, який рівень слід використовувати за замовчуванням або який рівень використовується для переходів рівня. Щоб встановити, який рівень (або рівні) слід використовувати для цього типу взаємодії, ви можете зробити наступне.

По-перше, на Головна панель інструментів йти до Редагувати > Налаштування проекту.

Потім, під Проект в Карти та режими Розділ шукати Карти за замовчуванням розділ.

Клацніть для повного зображення.

Клацніть стрілку поруч із Карта за замовчуванням гри, і від Список активів, виберіть карту, яку слід використовувати для початкового рівня гри за замовчуванням.

Клацніть для повного зображення.

Повторюйте цей процес, поки не отримаєте рівень рівня для кожного необхідного типу карти.

Вибір вмісту, який потрібно упакувати чи ні

У розділі «Упаковка» у налаштуваннях вашого проекту ви можете вказати, які карти та вміст повинні або не повинні бути включені у вашу гру. Щоб вказати, які карти слід включити у ваш проект, вам потрібно виконати наступне:

Якщо ви не вказали, які карти слід готувати, тоді всі карти будуть приготовані, включаючи будь-які тестові карти, які у вас можуть бути. Якщо не вказати, які карти слід готувати, ваша остаточна упакована гра стане більшою, ніж має бути.

Спочатку відкрийте налаштування проекту, перейшовши до Головна панель інструментів і вибір Редагувати > Налаштування проекту.

Потім, під Проект в Упаковка Розділ шукати Упаковка варіант.

Клацніть для повного зображення.

Клацніть на маленький білий трикутник внизу розділу «Упаковка», щоб ознайомитись із варіантами упаковки авансів.

Клацніть для повного зображення.

Прокрутіть до нижньої частини Параметри розширеної упаковки, поки не з’явиться прапорець для Приготуйте все в каталозі вмісту проекту (ігнорувати список карт нижче) варіант. Параметри, які ви бачите тут, дозволять вам вказати, який вміст та карти слід упаковувати чи не упаковувати разом із вашим проектом.

Клацніть для повного зображення.

Натисніть білий Знак плюс поруч із опцією, яку потрібно використовувати для включення або виключення активів.

Клацніть для повного зображення.

Натиснувши три маленькі білі крапки поруч із новим записом, який було додано, з’явиться вікно, яке дозволить вам вибрати, які об’єкти ви хочете включити або виключити.

Клацніть для повного зображення.

Коли ви вибрали актив, вікно введення тепер міститиме посилання на те, де цей актив знаходиться в папці вашого проекту.

Клацніть для повного зображення.

Приготуйте все в каталозі вмісту проекту (ігнорувати список карт нижче)

Приготуйте всі речі в каталозі вмісту проекту.

Карти лише для приготування (це стосується лише всіх приготування)

Карти лише для кухаря (впливає лише на кухаря всі прапорці).

Створюйте стиснуті приготовлені пакети

Створювати стислі приготовлені пакети (зменшений розмір розгортання).

Не включайте вміст редактора в цей пакет, це може спричинити збій/помилку гри, якщо ви використовуєте цей вміст

Пропустити приготування вмісту редактора.

Список карт для включення в пакувальну збірку

Список карт для включення, коли в командному рядку не вказано жодного іншого списку карт.

Додаткові каталоги активів для приготування

Тут перераховані додаткові каталоги, що містять файли .uasset, які слід завжди готувати незалежно від того, чи на них посилається щось у вашому проекті. Переконайтеся, що ці шляхи відносяться до каталогу вмісту вашого проекту.

Довідники ніколи не готувати

Тут перелічені каталоги, які ніколи не слід готувати.

Додаткові не-активні каталоги до упаковки.

Цей список каталогів містить файли, які завжди слід додавати до файлу .PAK (якщо використовується файл .pak; інакше вони копіюються як окремі файли). Це використовується для індексування додаткового файлу, який ви вручну завантажуєте через UFS API вводу-виводу файлу (Unreal File System). Переконайтеся, що ці шляхи відносяться до каталогу вмісту вашого проекту.

Додаткові каталоги, що не належать до активів, для копіювання.

Тут перелічені каталоги, що містять файли, які завжди слід копіювати під час упаковки проекту, але не повинні бути частиною файлу .pak. Це використовується для індексування додаткових файлів, які ви завантажуєте вручну за допомогою API IO файлу UFS, колишніх сторонніх бібліотек, які виконують власний внутрішній файл IO.

Переконайтеся, що ці шляхи відносяться до каталогу вмісту вашого проекту.

Перевірка того, який вміст буде готуватися

Щоб переконатися, що до файлу APK додається лише вміст, пов’язаний з вашим проектом, ви можете перевірити, який вміст додається до файлу .apk вашого проекту, заглянувши в Приготовлені папку у вашому проекті. Ви можете знайти папку Cooked, перейшовши до (ProjectName) \ Saved \ Cooked, а потім виберіть папку з форматом, для якого ви готували проект.

Зверніть увагу, що ви зможете побачити лише вміст у Приготовлені папку після завершення першого кулінарії.

Клацніть для повного зображення.

Клацніть для повного зображення.

На зображенні нижче показано папку Texture із зразка гри Match 3. Вміст у папці відсортовано за розміром, тому легше зрозуміти, які активи найбільші. Після того, як будуть визначені найбільш значущі активи, ви можете вивчити активи всередині UE4, щоб побачити, чи насправді їх можна зменшити в розмірі, не жертвуючи цілісністю активу.

Клацніть для повного зображення.

Клацніть для повного зображення.

Розробка порівняно з розміром збірки

Намагаючись з’ясувати кінцевий розмір вашого проекту, майте на увазі, що версія для проекту для розробки буде трохи більшою за розмір вашої збірки. У прикладі гри "Середньовічний матч" різниця у розмірі між розробкою та побудовою склала близько 14 відсотків. Однак, оскільки кожен проект має різні вимоги, економія між двома різними типами збірки для вашого проекту може становити більше або менше 14-відсоткової економії.

LOD для текстури пристрою

З виходом Unreal Engine 4.8 тепер ви можете вказати, який розмір Текстури слід використовувати на яких пристроях. Детальніше про це ви можете прочитати у розділі "Текстурні вказівки для мобільних платформ".

Видалення невикористаного вмісту

Коли ваш проект нарешті готовий до упаковки для магазину, спершу видаліть будь-який невикористаний або тестуючий вміст, вибравши його у браузері вмісту та видаливши. Ви можете видалити вміст, спершу вибравши вміст, який ви хочете видалити, а потім натисніть кнопку Видалити клавішу на клавіатурі або скористайтеся опцією Видалити в меню правої кнопки миші. Коли ви спробуєте щось видалити зі свого проекту, відобразиться меню Видалити активи, як на наступному зображенні.

Це найкращий спосіб видалення об'єктів в UE4, і його слід використовувати, а не просто видаляти/видаляти активи з їх розташування в папці вмісту.

Клацніть для повного зображення.

Меню «Видалити об’єкти» повідомляє, чи на об’єкт, який ви намагаєтесь видалити, посилається інший об’єкт. Якщо на нього немає посилань, ви можете просто видалити його, однак, якщо на нього посилаються інші ресурси, ви можете використовувати файл Замінити посилання можливість замінити посилання на цей актив іншим активом, який повинен бути упакований у ваш проект.

Видалення невикористаних плагінів

Вимкнення невикористаних Плагіни всередині редактора UE4 - це ще один спосіб переконатись, що непотрібний вміст і код не потрапляють у кінцевий файл пакету APK вашого проекту. Це тому, що деякі Плагіни вимагають певного набору базових активів та коду для коректної роботи. Якщо Підключати не вимкнено, активи та код, необхідні для створення Підключати Робота не буде вилучена з вашого проекту. Незважаючи на те, що це може не настільки зменшити розмір вашого проекту, як зменшення або видалення великої текстури, кожна дрібниця може допомогти при спробі зменшити ваш проект до розміру 100 МБ. Щоб вимкнути плагін всередині UE4, потрібно виконати наступне:

Не забудьте ретельно протестувати свій проект, щоб переконатися, що Плагіни Ви відключаєте, не заважайте функціоналу вашого проекту.

По-перше, відкрийте Плагіни Менеджер, перейшовши до Головна панель інструментів і натиснувши на Вікно, а потім виберіть Плагіни варіант.

Від Плагіни Браузер, виберіть різні розділи та вимкніть будь-який Плагіни Ви не використовуєте, знявши прапорець біля Увімкнено. Коли ви відключили всі Плагіни, вам потрібно буде перезапустити редактор UE4, а потім переконайтесь, що ви перепакуєте свій проект.

Чорний список пакунків

Тепер ви можете розмістити текстовий файл у своєму проекті Збірка/Платформа/(Цільова папка платформи) каталог, який повідомлятиме плиту, щоб виключити часткові або повні шляхи до файлів з упаковки у ваш проект. Проекти можуть мати декілька файлів чорного списку для налагодження, розробки, тестування та збірки, які можна налаштувати на включення або виключення будь-яких даних проекту, які ви хочете. Ви навіть можете мати різні файли чорного списку для кожної платформи, яку ваш проект підтримує, наприклад, один для Android, один для iOS тощо. Ось приклад того, як би виглядали файли чорного списку для Match 3 на Android.