Адаптация графики под разные форматы экранов (Aspect Ratio)

Сегодня Unity-проект должен корректно отображаться на 16:9, 18:9, 19.5:9, 4:3 (iPad), 1:1 (складные устройства) и 21:9 (ультраширокие мониторы). Если при проектировании UI использовали только Canvas Scaler с Screen Match Mode = Match Width Or Height и magic number 0.5 — на iPad'е UI поедет, на 21:9

Наши компетенции

Другие услуги студии

VR/AR/MR приложения на заказ

Впечатляйте клиентов и обучайте команду в виртуальной реальности

Разработка игр на Unity

От идеи до релиза — игры, которые запоминаются

3D-моделирование и анимация

Оживим ваш продукт в объёмной графике и анимации

VR-тренажёры промышленного оборудования

Тренируем операторов на технике без риска и простоя

AR-инструкции для производства

Пошаговые подсказки прямо на оборудовании — без бумаги

Safety-тренажёры

Отработка ЧС и техники безопасности без выхода на объект

VR/AR-тренинги

Обучаем персонал сервису, адаптации и soft skills в VR

Обучающие викторины

Проверка знаний в формате игры — легко и без стресса

Корпоративные видеоинструкции

Понятные ролики для обучения сотрудников и клиентов

Геймификация бизнес-процессов

Мотивируем команду через игровые механики в KPI и HR

Приложения для инфокиосков

Интерактивные экраны для магазинов, стендов и офисов

VR/AR-инсталляции

Wow-эффект для брендов на выставках, ивентах и в шоу-румах

Виртуальные выставки и музеи

Ваша экспозиция доступна из любой точки мира — 24/7

Event-квесты и брендированные игры

Запоминающиеся игры для конференций и клиентских ивентов

Часто задаваемые вопросы

Последние работы

  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    1504
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    1005
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    635
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    716
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    95

Сегодня Unity-проект должен корректно отображаться на 16:9, 18:9, 19.5:9, 4:3 (iPad), 1:1 (складные устройства) и 21:9 (ультраширокие мониторы). Если при проектировании UI использовали только Canvas Scaler с Screen Match Mode = Match Width Or Height и magic number 0.5 — на iPad'е UI поедет, на 21:9 — пустые полосы или обрезанные элементы.

Мы, команда геймдев-инженеров с 10-летним опытом (более 50 проектов по адаптации графики), обеспечиваем полную адаптацию: от аудита UI до внедрения Aspect Ratio Manager. Наша работа гарантирует корректное отображение на любых устройствах — от ультрашироких мониторов до мобильных с Dynamic Island. Свяжитесь с нами для оценки вашего проекта.

Почему Canvas Scaler не решает проблему?

Canvas с фиксированными размерами. Кнопка, запинненная по Anchor к правому нижнему углу, при переходе с 16:9 на 21:9 уплывает за экран — потому что её позиция задана в абсолютных пикселях, а не через Anchors правильно. Это сигнал, что UI изначально верстался без учёта вариативности соотношений.

Как работать с Safe Area на мобильных устройствах?

Safe Area на мобильных устройствах. На iPhone с Dynamic Island и на Android-устройствах с punch-hole камерой верхний угол экрана физически занят. Если статус-бар и игровые кнопки не учитывают Screen.safeArea — UI перекрывается вырезом камеры. Unity сам не применяет Safe Area к Canvas — это нужно делать через скрипт, который считывает Screen.safeArea и обновляет RectTransform корневого элемента. Согласно документации Unity, Safe Area необходимо обрабатывать вручную: Safe Area.

Адаптация ортографической камеры под разные соотношения

Ортографическая игровая камера с фиксированным Orthographic Size. В 2D-игре с фиксированным Camera.orthographicSize = 5 при переходе с 16:9 на 4:3 игрок видит меньше мира по горизонтали. Для платформера это означает, что персонаж не успевает видеть препятствия. Решение: рассчитываем Orthographic Size динамически через целевой width: orthographicSize = targetWidth / (2 * Camera.aspect).

Как выбрать стратегию: letterbox, pillarbox или crop?

Три стратегии заполнения несовпадающего соотношения. Для каждой игры — своя. Файтинг на 21:9: pillarbox (полосы по бокам) выглядит странно — лучше crop с расширением арены. Стратегия на iPad: letterbox нежелателен — лучше показывать больше карты. Выбор стратегии — дизайн-решение, но его нужно принять явно и реализовать технически.

  1. Определите жанр и целевые устройства.
  2. Выберите primary aspect ratio (под него проектируете UI).
  3. Для остальных соотношений решите: letterbox, pillarbox или crop.
  4. Реализуйте через Camera Viewport Rect или отдельные камеры.

Практический подход: Camera Viewport Rect и Multiple Canvas

Camera Viewport Rect. Для Letterbox/Pillarbox управляем camera.rect в зависимости от текущего aspect ratio. Для 21:9 на 16:9-контенте: вычисляем нужный Viewport Rect так, чтобы игровая область центрировалась, а полосы рисовались через отдельную камеру с Solid Color background.

Multiple Canvas и Reference Resolution. Разделяем UI на несколько Canvas с разными настройками масштабирования. HUD (здоровье, мини-карта) — Canvas Scaler Scale With Screen Size, Match = 1 (Match Height). Диалоги и меню — Match = 0 (Match Width). Это даёт более предсказуемый масштаб разных категорий элементов.

Из нашей практики: адаптация мобильной стратегии

Мобильная стратегия, релиз на iOS и Android. Разработка велась под iPhone 14 (19.5:9). При тестировании на iPad Pro (4:3) обнаружилось: нижняя панель ресурсов обрезана снизу, карта мира отображает только 60% от нужной области, кнопка «Атака» перекрыта Safe Area. Решение заняло 5 дней: написали AspectRatioManager с тремя профилями (narrow: < 1.6, standard: 1.6–2.0, wide: > 2.0), под каждый профиль — отдельные Anchor Preset'ы для критичных UI-элементов, плюс Safe Area Controller. Финальный тест на 7 устройствах с разными соотношениями — все экраны корректны.

Пример настройки AspectRatioManager
public class AspectRatioManager : MonoBehaviour { public enum AspectProfile { Narrow, Standard, Wide } private AspectProfile currentProfile; void Update() { float ratio = (float)Screen.width / Screen.height; if (ratio < 1.6f) currentProfile = AspectProfile.Narrow; else if (ratio <= 2.0f) currentProfile = AspectProfile.Standard; else currentProfile = AspectProfile.Wide; ApplyProfile(); } void ApplyProfile() { // Apply anchor presets and camera rect based on profile } } 

Шейдер-уровень адаптации

Shader-уровень адаптации. Для фоновых изображений (загрузочный экран, главное меню) — шейдер с параметром Tiling, который адаптирует UVs под текущий aspect ratio. Изображение не тянется и не обрезается, а масштабируется с умным кадрированием (аналог CSS object-fit: cover).

Тестирование на реальных устройствах

Используем Unity Device Simulator (Window → General → Device Simulator) для предварительной проверки. Но финальное тестирование — только на реальных устройствах: iOS Safe Area в симуляторе рассчитывается иначе, чем на физическом iPhone.

Матрица тестирования:

Соотношение Пример устройства Критичные проверки
4:3 iPad 9th gen HUD, игровая камера, Safe Area
16:9 Samsung Galaxy S10e Базовый layout
18:9 Pixel 6a Растяжение UI по вертикали
19.5:9 iPhone 15 Dynamic Island, Safe Area
21:9 Sony Xperia 1 Letterbox/Pillarbox/Crop

Что входит в работу

  • Аудит текущего UI с отчётом по проблемам (2–3 дня)
  • Разработка Aspect Ratio Manager с профилями под разные соотношения
  • Настройка Safe Area Controller для мобильных устройств
  • Оптимизация Anchor Preset'ов и Multiple Canvas
  • Реализация кастомных шейдеров для фонов
  • Тестирование на 7+ реальных устройствах
  • Документация и рекомендации по поддержке

Ориентировочные сроки

Масштаб задачи Сроки
Аудит UI + отчёт по проблемам 2–3 дня
Исправление Safe Area + базовый Aspect Ratio 3–5 дней
Полная адаптация UI под 4+ соотношения 2–4 недели
Разработка Aspect Ratio Manager с нуля 1–2 недели

Стоимость рассчитывается индивидуально в зависимости от сложности проекта. Экономия времени на доработки после релиза может достигать 40% бюджета. Закажите аудит вашего UI или получите консультацию — мы оценим проект бесплатно.