Оптимізація розміру дистрибутива VR ігор для швидкого завантаження

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

Від імерсивних застосунків до ігрових світів і 3D-сцен

Наша виділена команда для VR/AR/MR-розробки, Unity-продакшну і 3D-моделювання та анімації — з власними кейсами і презентаціями.

Відвідати персоналізований сайт
Показано 1 з 1 послугУсі 242 послуг
Оптимізація розміру дистрибутива VR ігор для швидкого завантаження
Середня
~3-5 робочих днів
Часті питання

Наші компетенції

Які етапи розробки гри?

Останні роботи

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    685
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    866
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    492
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    534

Оптимізація розміру дистрибутива VR ігр для швидкої завантаження

Meta Horizon Store та Steam мають обмеження та рекомендації по розміру пакета, але головна причина оптимізувати дистрибутив—користувацький досвід. Гра на 4 GB проти гри на 1.2 GB при однаковій візуальній якості—різниця в 20 хвилин очікування на стандартному домашньому інтернеті. Для Quest standalone, де користувач не звичний до довгих завантажень мобільних ігор, це прямої втрати установок.

Де живе раздутий розмір пакета

У більшості VR-проектів 70–80% розміру пакета—це текстури. Типова картина при аудиті: у проекті 2 GB текстур, з яких 600 MB—це нестиснені або слабостиснені PNG/PSD-файли, імпортовані напрямо без налаштування Texture Compression в Import Settings.

Quest 2/3—це ARM-чип з Adreno GPU, native формат стиснення—ASTC. Текстура 2048×2048 у RGBA32 займає 16 MB. Та ж текстура в ASTC 6×6—1.5 MB, в ASTC 8×8—0.9 MB. Різниця в 17 разів при незначній втраті якості для diffuse карт.

Налаштування у Unity: Platform-specific overrides у Texture Import Settings → Android → Format: ASTC 6×6 (для diffuse та roughness карт), ASTC 4×4 (для нормалей, де якість критична). При цьому стандартний Texture Compression у Project Settings недостатній—потрібно явно налаштовувати кожну текстуру або використовувати Texture Compression Groups через Addressables.

Другий крупний джерело—аудіо. Unity за замовчуванням імпортує аудіо без агресивного стиснення. Фонові треки у WAV по 50–100 MB кожен—не рідкість. Налаштування: Load Type Streaming, Compression Format Vorbis, Quality 70–80% для фонової музики. Короткі звукові ефекти—Decompress on Load з Vorbis. Всього з аудіо можна скоротити ще 30–60%.

Інструменти аналізу розміру білда

Unity Build Report—перший крок. Window → Open Last Build Report показує, що й скільки важить у фінальному пакеті. Сортування за розміром одразу виявляє аномалії: текстури, які чомусь займають 20 MB замість очікуваних 2 MB.

Asset Bundle Analyzer (відкритий інструмент від Unity Technologies)—для проектів з Addressables. Показує дублювання ассетів між бандлами: одна текстура, включена в три різних bundle, займає місце тричі.

Сканування через AssetDatabase.GetAllAssetPaths() з кастомним скриптом-аудитором: знаходить текстури без ASTC override, аудіофайли без streaming, меші з надмірними вершинами для їх LOD-рівня.

Addressables та відкладена завантаження

Для VR-ігр з кількома рівнями—обов'язкове розділення на base package (код + перший рівень) та remote assets (інші рівні через CDN). Unity Addressables з Remote Load Path на Cloudflare R2 або AWS S3. Користувач встановлює 400 MB, запускає гру та бачить перший рівень одразу. Решта завантажується у фоні.

Meta Horizon Store підтримує розділення на base APK + expansion files. Базовий APK повинен бути менше 4 GB (обмеження Android APK format), expansion—до 4 GB кожен. На практиці—краще тримати базовий APK до 1 GB для швидкої завантаження першого контенту.

Shader stripping—окрема точка економії. Unity включає у білд шейдери для всіх можливих keyword combinations. У VR-проекті з URP після налаштування Shader Stripping у Graphics Settings (включити Strip Unused Shader Variants) розмір часто скорочується на 50–150 MB лише за рахунок видалення невикористовуваних шейдерних варіантів.

Тип оптимізації Типове скорочення розміру
ASTC-компресія текстур 40–70% від обсягу текстур
Оптимізація аудіо (Vorbis + Streaming) 30–60% від обсягу аудіо
Shader stripping 50–200 MB
Addressables + remote assets 50–80% від базового пакета

Строки роботи: аудит та базова оптимізація—2–5 робочих днів. Повна реструктуризація з переходом на Addressables—2–4 тижні залежно від розміру проекту.

Вартість розраховується індивідуально після аналізу поточного стану білда.