Разработка AR/VR-игр требует иного подхода к геймдизайну, архитектуре и оптимизации по сравнению с классическими проектами
Главное отличие — работа в объёмном пространстве, где интерфейс, физика и восприятие игрока перестраиваются под стереоскопию, трекинг и свободу движений
Чем AR- и VR-разработка отличается от привычной
В традиционной игре камера — это окно в мир. В VR камера становится головой игрока, а в AR — глазами, накладывающими цифровой слой на физическое окружение. Это меняет всё: от масштаба моделей до правил навигации.
VR: полное погружение
Игрок изолирован от физического мира. Входные данные: позиция головы, контроллеры, трекинг глаз, голос. Выход: стереоизображение 90–120 Гц, пространственный звук, тактильная обратная связь.
AR: наложение на реальность
Цифровые объекты привязываются к поверхностям, маркерам или GPS-координатам. Вход: камера, LiDAR, IMU, глубина. Выход: видеопоток с наложением, аудио через динамики или наушники.
MR: смешанная реальность
Гибрид VR и AR: очковые гарнитуры с провидением (passthrough) позволяют видеть реальный мир в цвете и взаимодействовать с виртуальными объектами, закреплёнными в пространстве.
Движки и фреймворки: что выбирают в индустрии
Два гиганта делят 90% рынка. Третьи варианты подходят для ниш или веб-проектов.
| Движок | Сильные стороны для XR | Ограничения | Типичные цели |
|---|---|---|---|
| Unity | Огромная экосистема XR-пакетов (AR Foundation, XR Interaction Toolkit), кроссплатформенность, C#, Asset Store | Производительность на тяжёлых сценах ниже, чем у Unreal; GC-паузы | Мобильный AR, Meta Quest, WebXR, инди-VR, корпоративные симуляторы |
| Unreal Engine | Фотореализм «из коробки», Nanite/Lumen, Blueprint, выше производительность на ПК/консолях, OpenXR | Сложнее мобильный AR, тяжёлый бинарник, кривая обучения C++ | AAA VR, PC VR, Apple Vision Pro, LBE-аттракционы, визуализация |
| Godot 4 | Открытый исходный код, лёгкий, GDScript/C#, поддержка OpenXR, подходит для 2.5D/3D VR | Менее зрелые XR-аддоны, меньше ассетов, слабее мобильный AR | Инди, обучение, прототипы, открытые проекты |
| WebXR (Three.js, Babylon.js, A-Frame) | Работает в браузере без установки, легкий доступ, AR через WebXR AR Module | Ограниченный доступ к железу, ниже FPS, сложная монетизация | Маркетинговые демо, образовательные сцены, простые AR-фильтры |
Практический совет: начните прототип на том движке, где сильнее команда. Перенос прототипа между Unity и Unreal затратен — архитектура входных систем, рендер-пайплайны и ассет-пайплайны принципиально отличаются.
Этапы производства: от концепта до релиза
Пайплайн XR-проекта содержит специфические шаги, которых нет в плоской разработке.
Концепт и спейс-дизайн
Определение типа взаимодействия: room-scale, seated, standing, world-anchored. Проработка зоны комфорта (comfort zone), межпупиллярного расстояния (IPD), безопасных границ (guardian/chaperone). На этом этапе рисуются блок-схемы пользовательского пути в 3D-пространстве.
Белый ящик (Greyboxing) в масштабе 1:1
В VR уровни строятся в реальных метрах. Прототипируют коллизии, высоту потолка, дальность досягаемости, углы обзора. Тестируют на целевом железе каждую итерацию — в редакторе масштаб ощущается иначе.
Внедрение систем ввода и передвижения
Телепорт, плавная локомоция, сдвиг (snap turn), физические руки, жесты, взгляд. Каждая схема требует отдельного прототипа и теста на кинетосис. Для AR — привязка к плоскостям, изображениям, геолокации, окклюзия реальных рук.
Графика, звук и оптимизация
Стереорендер удваивает нагрузку на GPU. Используют single-pass instanced rendering, foveated rendering (фиксированный/динамический), LOD-агрессивнее, чем в плоских играх. Аудио — только binaural/Ambisonics с учетом HRTF.
Тестирование на железе и сертификация
Обязательные чек-листы платформ: Meta Quest VRC, SteamVR, Apple visionOS. Проверка: sustained FPS, температура батареи, время загрузки, безопасность границ, доступность (accessibility), отсутствие мерцания.
Главные технические вызовы и их решения
XR усиливает известные проблемы геймдева и добавляет уникальные.
Кинетосис (motion sickness)
Несовпадение вестибулярного и визуального сигналов. Усиливается низким FPS, лагами трекинга, ускорением камеры без ввода.
Решение: ветер в лицо (вентилятор), виньетка при движении, телепорт вместо ходьбы, стабильный горизонт, 72–90+ FPS, предсказание позы (late latching).
Производительность на мобильных SoC
Quest 2/3, Pico, смартфоны — термально ограничены. Два рендера по 1800×1920 на глаз съедают fillrate и bandwidth.
Решение: фиксированный фовейтед рендеринг (FFR), динамическое разрешение, бакинг освещения, атласинг текстур, упрощённые шейдеры, избегание прозрачности (overdraw).
UI/UX в объёме
Плоские меню в VR нечитаемы на краях, в AR перекрывают реальность. Гейз-инпут устаёт глазами, луч из контроллера — руки.
Решение: дигетические интерфейсы (на руке, на предмете), world-locked панели на расстоянии 0.5–1.5 м, угловой размер текста ≥ 1°, голосовое управление, тактильные подтверждения.
Трекинг и потеря следа
Inside-out трекинг теряет позу в темноте, на однотонных стенах, при быстрых поворотах. Контроллеры выходят из ФОВ камер.
Решение: IMU-дедрекинг, визуально-инерциальная одометрия (VIO), предсказание позы, fallback на 3DoF, дизайн уровней с текстурированными поверхностями, индикаторы качества трекинга.
Платформы и SDK: куда собирать билд
Выбор платформы диктует SDK, процесс ревью и аудиторию.
Meta Quest (Standalone)
- OpenXR + Meta XR SDK
- VRC Validators — автоматические чек-листы
- App Lab для мягкого запуска
- Доступ к ручному трекингу, Scene API, Passthrough
SteamVR (PC VR)
- OpenXR, SteamVR Input, Steamworks SDK
- Нет жесткого пре-модератора, но есть возврат за 2 часа
- Поддержка Index, Vive, Quest через Link/AirLink/Virtual Desktop
- Высшие требования к графике
Apple visionOS
- RealityKit, Reality Composer Pro, SwiftUI
- Полноцветный пасстру, жесты «щипок», взгляд как луч
- Строгие гайдлайны Human Interface Guidelines
- Metal 3, foveated rendering на уровне ОС
Mobile AR (ARCore / ARKit)
- AR Foundation в Unity абстрагирует различия
- Plane detection, image tracking, face/body tracking, LiDAR depth
- Распространение через App Store / Google Play
- Ограничения: батарея, перегрев, разрешение камеры
WebXR
- Three.js / Babylon.js / A-Frame + WebXR Polyfill
- Работает в Chrome, Edge, Firefox Reality, Meta Quest Browser
- Без установки — ссылка или QR-код
- Ограничения: память, GPU, нет доступа к нативным фичам (hand tracking, eye tracking)
Оптимизация: чек-лист для стабильных 72/90/120 FPS
Профилирование делается только на целевом устройстве. Редактор и ПК врут.
GPU-сторона (рендер)
- Single Pass Instanced / Multiview — один проход вершинного шейдера для обоих глаз.
- Fixed Foveated Rendering (FFR) — снижение разрешения по краям (уровни Low/Medium/High/High Top).
- Dynamic Resolution Scaling — дроп разрешения под нагрузкой с апскейлом.
- Occlusion Culling — PVS/Umbra/GPU-driven culling, чтобы не рисовать за спиной.
- Shader complexity — убрать branches, loops, texture reads; использовать mobile-шейдеры, упрощённое PBR.
- Overdraw control — отключить backface culling только где нужно, избегать партиклов на весь экран.
- Post-processing — только тонус-маппинг и цветокоррекция; блум, DOF, motion blur — отключить.
CPU-сторона (логика)
- Job System + Burst Compiler (Unity) / ParallelFor (Unreal) — физика, анимация, ИИ в джобах.
- Object Pooling — никаких Instantiate/Destroy в рантайме.
- Fixed Timestep — физика на 72/90/120 Гц, интерполяция визуала.
- Garbage Collection — структуры вместо классов, StringBuilder, избегание замыканий.
- Audio — пре-бакнутый реверб, ограничение голосов (max 32), spatialezer на DSP.
Память и загрузка
- Ассетбандлы / Addressables / Pak-chunks — стриминг уровней.
- Текстуры: ASTC 4×4/6×6 для мобильных, BC7 для ПК; мипмапы обязательны.
- Меш-сжатие (MeshOptimizer), индексы 16-бит где возможно.
- Аудио: Vorbis/Opus для музыки, ADPCM для SFX.
- Стартовый размер приложения
Тестирование: специфика QA в XR
Автотесты покрывают логику, но комфорт, эргономику и восприятие проверяют только люди.
Физиологические тесты
- Сессии 15/30/60 минут с перерывами
- Измерение SSQ (Simulator Sickness Questionnaire) до/после
- Пульс, потливость, головокружение — стоп-критерии
- Разные IPD (58–72 мм), ношение очков коррекции
Эргономика и доступность
- Рост 150–200 см, сидячее/стоячее/инвалидное кресло
- Одна рука, ограниченная подвижность шеи
- Подмена ввода: голос вместо жестов, gaze вместо контроллера
- Цветокоррекция для дальтоников, субтитры, аудио-описание
Граничные случаи трекинга
- Потеря контроллера за спиной, под ногой, за головой
- Яркий солнечный свет / полная темнота для камер
- Отражающие поверхности, зеркала, стекла
- Быстрые движения (boxing, tennis) — предикция позы
Монетизация и распространение
Модели отличаются от мобильных и ПК-игр.
Premium (buy once)
Основная модель на Quest Store, Steam, PSVR2. Возврат за 14 дней / 2 часа — стимул к качеству. DLC и сезонные проходки — доп. доход.
F2P + IAP
Косметика, прокачка комфорта (инвентарь, слоты), подписки. Сложнее удержать — конкуренция за внимание в хедесете выше.
Корпоративные и локационные
Обучение, симуляторы, парки VR, музеи. Лицензирование на станцию/месяц, выше чек, длинный цикл сделки.
На чем фокусироваться новичку: чек-лист первых шагов
Не покупайте топовое железо сразу. Начните с минимального набора и итераций.
- Определите формат: VR (Quest/PC), AR (мобайл/очки), MR (Vision Pro/Quest 3 passthrough). Каждый — свой пайплайн.
- Выберите движок: Unity — для мобильного AR и быстрых прототипов; Unreal — для визуала и ПК VR; Godot — для обучения и открытых проектов.
- Соберите «серый ящик» в масштабе 1:1 и протестируйте на железе в первый день. Масштаб, высота глаз, дальность рук — критичны.
- Реализуйте две схемы передвижения (телепорт + плавная) и дайте выбор игроку. Протестируйте на чувствительных людях.
- Настройте профилировщик (Unity Profiler / Unreal Insights / RenderDoc / Xcode Instruments / Android GPU Inspector) под целевую платформу.
- Изучите гайдлайны платформы (VRC для Quest, HIG для visionOS) до первой сборки — переделки дорогие.
- Сделайте доступность (accessibility) не в конце, а параллельно: субтитры, одноручное управление, настройка виньетки, голосовые команды.
- Планируйте контент-апдейты заранее: модульная архитектура уровней, адресабельные ассеты, удалённая конфигурация (Remote Config).
Будущее направлений: куда движется индустрия
Технологии зреют, границы между AR/VR/MR стираются.
Главное правило: в XR контент следует за технологией, но удерживает игроком удобство. Лучшая графика не спасёт проект, если игрок тошнит через 5 минут. Начинайте с физиологии, заканчивайте оптимизацией.
История развивается так, как решаете вы ✍️
Это не книга с готовым финалом и не игра с фиксированными ответами. В нашем телеграм-боте вы сами ведёте диалог с ИИ-персонажем: задаёте тон, принимаете решения, меняете ход событий. Захотели романтики — будет романтика. Захотели интриги — сюжет повернёт туда. Каждая партия — уникальная.
Попробовать прямо сейчас 👉 https://clck.ru/3Ta8kQ

