Оптимизация размера дистрибутива VR игр для быстрой загрузки

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

От иммерсивных приложений до игровых миров и 3D-сцен

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

Посетить персонализированный сайт
Показано 1 из 1 услугВсе 242 услуг
Оптимизация размера дистрибутива VR игр для быстрой загрузки
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Наши компетенции
Какие этапы разработки игры?
Последние работы
  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    683
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    860
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    490
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    533

Оптимизация размера дистрибутива 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, нативный формат сжатия — ASTC. Текстура 2048×2048 в RGBA32 занимает 16 MB. Та же текстура в ASTC 6×6 — 1.5 MB, в ASTC 8×8 — 0.9 MB. Разница в 17 раз при незначительной потере качества для диффузных карт.

Настройка в Unity: Platform-specific overrides в Texture Import Settings → Android → Format: ASTC 6×6 (для диффузных и 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 недели в зависимости от размера проекта.

Стоимость рассчитывается индивидуально после анализа текущего состояния билда.