3D на мобильных — это постоянный компромисс между визуальной привлекательностью и тепловым дросселированием. Современные флагманы (A17 Pro, Snapdragon 8 Gen 2) выдают впечатляющую картинку, но средний сегмент требует жёстких ограничений. Наша задача — сделать игру, которая выглядит хорошо на премиальном железе и не падает ниже 30 FPS на устройствах с 4 ГБ ОЗУ. Разработка 3D-игры под ключ — это инженерная работа: от выбора движка до публикации в сторах.
Основные проблемы при разработке мобильных 3D-игр
Первая проблема — производительность: на мобильных GPU ограничены тактовыми частотами и TDP. Без оптимизации игра станет горячей и начнёт тормозить через 5 минут. Вторая — размер установочного пакета: пользователи удаляют приложения более 200 МБ. Использование Addressables с CDN решает это: базовый APK ~50 МБ, остальное догружается. Третья — фрагментация: сотни моделей Android с разными GPU. Мы тестируем на 10+ устройствах, включая китайские бренды.
Как избежать тормозов на слабых устройствах?
Universal Render Pipeline (URP) в Unity — база для мобильного 3D. В URP настройки: отключаем HDR для среднего сегмента, MSAA 2x максимум, Depth Texture и Opaque Texture выключаем, если не используются. Это экономит до 30% времени кадра. LOD-группы обязательны: три уровня — полная геометрия до 10 м, упрощённая до 30 м, затем billboard. LODBias снижаем до 0.7 для всех платформ. Occlusion Culling — статическая окклюзия на крупных объектах; bake через Window → Rendering → Occlusion Culling. Без неё GPU рисует объекты за стенами — бесполезная работа.
Шейдеры: базовый PBR URP/Lit с ограничением Material Quality через shader keywords. Transparent objects — минимум: каждый создаёт отдельный render pass. Particle Systems с прозрачностью — главный источник overdraw. Используем Compute Shaders для GPU-эффектов (травы, частицы).
// Profiler маркер для измерения кастомного кода using var marker = new ProfilerMarker("EnemyAI.Update"); marker.Begin(); UpdateAI(); marker.End(); Почему URP лучше Built-in для мобильных?
Сравнение показателей на примере сцены с 50 объектами: URP выдаёт 45 FPS, Built-in — всего 28 FPS на Snapdragon 680. Выигрыш — в 1.6 раза. URP использует single-pass рендеринг, автоматическое batching и более лёгкие шейдеры. Для проектов с низкополигональной графикой (до 50К полигонов на экран) URP оптимален. Если нужна AAA-визуализация — выбирайте Unreal, но готовьтесь к более долгой оптимизации.
Физика и анимация: мелкие детали — большая разница
Rigidbody с интерполяцией и Continuous collision detection только для быстрых объектов. MeshCollider — только для статики; персонажам — CapsuleCollider. Частота physics update — 50 Гц (0.02 с), на слабых устройствах снижаем до 30 Гц. Анимация: blend tree по скорости, GPU skinning для толп врагов (Baked Simulation или ECS). Хранить анимации — в Addressables, не в Resources.
Для мультиплеера используем Unity Netcode for GameObjects (NGO) с Unity Transport. Relay для NAT traversal. Не забывайте про обработку потери соединения и background mode на iOS — сокеты живут около 30 секунд.
Что входит в нашу работу
- Разработка Game Design Document (GDD) с детализацией уровней и монетизации
- Создание прототипа (vertical slice) для тестирования core loop
- 3D-моделирование, текстурирование, анимация (Low-poly / PBR)
- Оптимизация под целевые платформы (профилирование на 10+ устройствах)
- Интеграция аналитики (Firebase), рекламы, покупок (StoreKit 2, Billing 6)
- Публикация в App Store и Google Play (подготовка метаданных, скриншотов)
- Поддержка после релиза (обновления, баг-фиксы)
Процесс работы
| Этап | Длительность | Что получаем |
|---|---|---|
| Анализ и GDD | 2–4 недели | Документ с описанием механик, уровней, монетизации |
| Прототип | 2–3 месяца | Играбельный vertical slice с core loop |
| Разработка | 4–12 месяцев | Полный функционал, 3D-контент, звук |
| Тестирование | 4–8 недель | QA на устройствах, crash-репорты, доработки |
| Деплой | 2–4 недели | Релиз в сторах, мониторинг |
Типичные ошибки новичков
- Отсутствие LOD: все объекты с высоким полигонажем — тепловой throttle через минуту.
- Использование Resources вместо Addressables: весь контент в памяти с первого экрана.
- Слишком много transparent-материалов: overdraw 5x и выше.
- Игнорирование occlusion culling: GPU рисует весь уровень, даже за стенами.
- Работа без профайлера: «на глаз» не видно узких мест.
Сроки ориентировочно
| Проект | Команда | Ориентир |
|---|---|---|
| Прототип / vertical slice | 3–4 чел. | 3–5 месяцев |
| Полная игра (10–20 уровней, одиночная) | 5–8 чел. | 10–18 месяцев |
| С мультиплеером | 7–12 чел. | 18+ месяцев |
Стоимость рассчитывается после анализа GDD, целевых платформ и требований к визуальному качеству. Ориентируйтесь на сроки от 3 месяцев.
Готовы обсудить ваш проект? Свяжитесь с нами — оценим идею и предложим оптимальный план разработки. Наш опыт: 5+ лет мобильной разработки, 10 реализованных 3D-проектов. Пишите — гарантируем прозрачный процесс и техническую экспертизу.







