Создание анимаций пользовательского интерфейса игр

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

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

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

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
    1463
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    983
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    607
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    677
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    35

Создание UI-анимаций для игр — это не просто декорация, а функциональный элемент, который направляет игрока. Мы интегрируем анимации в UI как сигнальную систему: каждый переход, подтверждение, награда или предупреждение должны считываться игроком без чтения текста. Правильная анимация сокращает когнитивную нагрузку и ускоряет взаимодействие. Неправильная – бесит: слишком медленная задерживает геймплей, слишком резкая пропускается незаметно. Наши инженеры имеют 10+ лет опыта в геймдеве на Unity и Unreal, и мы гарантируем, что каждая анимация пройдет проверку на производительность. Свяжитесь с нами, чтобы получить прототип анимаций за 2 дня.

Создание анимаций UI: выбор инструмента

Animator + Animation Clips – классика под Unity. Работает через Animator Controller на Canvas-объекте. Плюс: видимость в редакторе, поддержка Blend Trees, легко управлять через SetTrigger/SetBool. Минус: сложно анимировать в динамические позиции. Подходит для фиксированных переходов: открытие/закрытие экрана, pulse-эффект на кнопке.

DOTween – де-факто стандарт для code-driven UI-анимаций. RectTransform.DOAnchorPos(), CanvasGroup.DOFade(), Image.DOColor() через fluent API с возможностью sequencing. DOTween.Sequence() с .Append(), .Join(), .InsertCallback() строит сложные скоординированные анимации. Важно: при Time.timeScale = 0 анимации останавливаются – используйте SetUpdate(UpdateType.Normal, true) для ignoreTimeScale.

UI Toolkit Transitions – CSS-подобные transitions: transition-property: translate; transition-duration: 300ms;. Самый декларативный, но ограничен трансформациями, непрозрачностью и цветом. Идеален для hover-эффектов и простых состояний.

Почему важны easing и timing?

Диапазоны длительности, которые работают:

  • Микро-обратная связь (hover, press): 80–120 мс
  • Появление/скрытие малого элемента: 150–200 мс
  • Переход экрана: 250–350 мс
  • Награды и fanfare-анимации: 600–1200 мс

Всё, что больше 400 мс для утилитарных переходов, раздражает при повторных открытиях. Игрок открывает инвентарь сто раз за сессию – 600 мс перехода = минута ожидания впустую.

Easing функции не симметричны: Ease Out (fast start, slow end) – для появляющихся элементов; Ease In (slow start, fast end) – для исчезающих; Ease In/Out – для переходов между состояниями. Linear easing почти никогда не нужен – выглядит механически.

Overshoot и spring – когда физика оправдана. Ease.OutBack (strength 1.5–2.0) отлично для pop-up уведомлений: элемент «выпрыгивает» за границы и возвращается. Ease.OutElastic – для энергичных наград. Но на полноэкранных панелях overshoot смотрится неестественно – используйте только для компактных элементов.

Кейс из нашей практики: уведомление о получении предмета

У нашего клиента на проекте потребовалась анимация всплывающего уведомления при получении предмета. Реализация через DOTween Sequence:

  • Иконка вылетает снизу с Ease.OutBack за 200 мс
  • Одновременно (+Join) фейд CanvasGroup.alpha с 0 до 1
  • Через 200 мс текст появляется через DOFade за 150 мс (+AppendInterval)
  • Удержание 2 с, затем исчезновение: сдвиг вправо + фейд за 200 мс с Ease.InCubic

Вся последовательность – 15 строк кода, переиспользуется через NotificationController.Show(item). Решили проблему очереди: при быстром получении нескольких предметов новое уведомление вытесняет старое через DOTween.Kill(targetTransform).

Как анимации влияют на FPS?

Анимации в Canvas вызывают Canvas Rebuild при изменении позиции, размера или прозрачности. CanvasGroup.alpha не вызывает Rebuild, а изменение RectTransform.position – вызывает. Анимируйте через DOAnchorPos (локальное пространство) вместо DOMove. Для scale-анимаций используйте transform.DOScale() – масштаб не трогает Layout, это самый дешёвый тип. Разбивайте анимируемые элементы на отдельные Canvas: если иконка мигает, её Rebuild не должен перестраивать весь HUD.

Тип анимации Влияние на производительность Рекомендация
Scale Низкое (cached by GPU) Использовать для кнопок и иконок
Position (AnchoredPosition) Среднее (trigger layout) Применять для переходов экранов
Alpha (CanvasGroup) Низкое (no Rebuild) Идеально для fade-in/out
Rotation Высокое (triggers Rebuild) Избегать при частых анимациях

Что выбрать для сложных последовательностей?

Сравнение DOTween и Animator для многоэтапных анимаций: DOTween выигрывает в гибкости в 3 раза по скорости реализации (code-based), но Animator обеспечивает лучшую видимость в редакторе. Если последовательность фиксированная (например, анимация открытия магазина), Animator проще. Если динамическая (зависит от данных боя), DOTween эффективнее.

Анимация состояний кнопок: нюансы

Стандартный Button с ColorTween ограничен. Используйте UIAnimation на DOTween или обработчики IPointerEnter/Exit/Down. Scale-анимация при нажатии (scale 0.95 за 80 мс, Ease.OutQuad) – простой и эффективный тактильный отклик для мобильных платформ.

Как реализовать очередь анимаций уведомлений пошагово

  1. При получении нового уведомления проверьте, активен ли текущий tween. Если да, вызовите DOTween.Kill(targetTransform) на нём.
  2. Создайте новую Sequence с желаемыми анимациями (появление, удержание, исчезновение).
  3. Запустите последовательность через sequence.Play().
  4. Для предотвращения накопления, установите флаг, что анимация занята, и сбрасывайте его по завершении.

Этот подход обеспечивает плавное вытеснение старых уведомлений и сохраняет производительность даже при частых вызовах.

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

  • Прототип анимаций на отдельном Canvas
  • Интеграция в существующий проект Unity/Unreal
  • Оптимизация производительности (минимизация Canvas Rebuild)
  • Документация по воспроизведению и настройке
  • Поддержка после внедрения
Тип работы Сроки
Анимации одного экрана (5–10 переходов) 2–5 дней
Полная анимация UI-комплекта (10–15 экранов) 2–5 недель
Сложные fanfare-анимации 1–2 недели
Анимационная система с управлением из кода 1–3 недели

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

Подробнее о Canvas Rebuild: Unity Manual - Canvas

Прототипирование и UX/UI для игр: архитектура, производительность, локализация

Открываете чужой Unity-проект — и видите: один Canvas на всю игру, сотня вложенных панелей, Layout Groups внутри Layout Groups, профайлер показывает 4 ms только на пересчёт UI в каждом кадре. Это не редкость. За 10+ лет работы мы разобрали сотни UI-систем — почти все страдали от отсутствия архитектуры с самого начала. В результате к середине разработки UI становится узким местом: каждый новый экран добавляет баги, производительность падает, правки занимают часы. Мы проектируем и реализуем игровой UI: от вайрфреймов до готовых компонентов в движке, с прицелом на производительность и поддерживаемость. Наш подход к прототипированию игрового интерфейса позволяет выявить 80% UX-проблем до написания кода. Свяжитесь с нами для консультации — оценим ваш проект.

Прототипирование и проектирование

Любой UI начинается с понимания информационных потоков: что игрок должен видеть в каждый момент, какие действия доступны, как переходить между экранами. Без этого разработка превращается в серию итераций «сделали — не то — переделали». Инструмент для прототипирования — Figma. Причина выбора не в моде, а в конкретных возможностях:

  • Компонентная система с вариантами — позволяет проверить кнопку в состояниях Normal/Hover/Pressed/Disabled
  • Auto Layout — честная симуляция поведения UI при разных размерах текста (критично для мультиязычных игр)
  • Прототипы с переходами — тестируйте навигационный флоу до первой строки кода

На этапе прототипа выявляется большинство UX-проблем: неочевидные переходы, перегруженные экраны, неверная иерархия информации. Исправить это в Figma — 15 минут. Исправить в готовом проекте — полдня. Мы гарантируем, что каждый прототип сопровождается техническим заданием для разработчиков — это исключает двусмысленность при передаче в движок.

uGUI против UI Toolkit: что выбрать для нового проекта

В Unity сейчас два фреймворка для UI, и выбор между ними не очевиден. uGUI (Canvas-based) — зрелая система, существует с ранних версий Unity. Работает с RectTransform, богатая экосистема ассетов. Практически весь существующий игровой UI написан на uGUI.

UI Toolkit — система на основе XML (UXML) и CSS-подобных стилей (USS). Изначально создавалась для редакторных инструментов, с версии 2021 официально поддерживается для рантайм UI. Архитектурно ближе к веб-разработке.

UI Toolkit подходит для следующих сценариев:

  • Новый проект, команда готова к обучению
  • Нужна сложная система тем и скинов
  • Активно разрабатываются кастомные редакторные инструменты

uGUI остаётся предпочтительным, если:

  • Идёт поддержка существующего проекта
  • Нужна максимальная совместимость с ассетами Asset Store
  • Команда уже знает uGUI, сроки сжатые

Wikipedia: Unity (game engine) – UI подтверждает, что оба подхода активно используются в индустрии.

Как добиться производительного UI в Unity?

Это та область, где игровой UI кардинально отличается от UI в обычных приложениях. В игре UI обновляется каждый кадр, и неэффективная реализация может съедать 3–5 ms из бюджета кадра — напрямую влияя на FPS.

Как работает батчинг в Canvas

Unity объединяет элементы одного Canvas в единый draw call, если они используют одинаковый материал и текстурный атлас. Нарушение батча означает дополнительный draw call, что бьёт по производительности.

Батчинг ломают следующие факторы:

  • Разные текстуры у соседних элементов (решение: спрайтовый атлас через Sprite Atlas)
  • Mask компонент создаёт стенсил и разрывает батч (альтернатива: RectMask2D — работает дешевле)
  • Canvas с разными Render Mode — батчинг работает только внутри одного Canvas
  • Любой Graphic Raycaster добавляет overhead — ставьте его только на интерактивные Canvas

Разделение Canvas по типам контента

Главная рекомендация: разделяйте статичный и динамичный контент. Когда хоть один элемент в Canvas изменяется, Unity перестраивает геометрию всего Canvas. Если на одном Canvas живут статичная рамка HUD и анимированная шкала здоровья — каждую секунду Canvas перестраивается полностью. Это может снижать FPS на 15-20%.

Правильная структура:

Canvas (Screen Space - Overlay)
├── Canvas_Static     — фоны, рамки, иконки без анимации
├── Canvas_Dynamic    — HP-бары, таймеры, счётчик ресурсов
└── Canvas_Popup      — модальные окна, уведомления

Каждый дочерний Canvas изолирует ребилд от родительского. Изменение в Canvas_Dynamic не трогает Canvas_Static.

Пошаговая настройка раздельного Canvas:

  1. Создайте корневой Canvas с Render Mode = Screen Space Overlay
  2. Внутри создайте пустые объекты GameObjects, каждому назначьте компонент Canvas
  3. Назовите их Static, Dynamic, Popup
  4. Перенесите существующие UI-элементы в соответствующие группы
  5. Убедитесь, что компонент Canvas Scaler настроен только на корневом Canvas (дочерние наследуют настройки)

Результат: сокращение времени перерисовки UI до 60% в сценах с динамическими HUD.

TextMeshPro и текстовые батчи

TextMeshPro — стандарт для текста в Unity. В отличие от старого Text, использует SDF-рендеринг: текст остаётся чётким при любом масштабе. Но у TMP есть нюанс: каждый уникальный шрифтовый атлас — отдельный материал, то есть отдельный draw call. Если в игре используется три варианта шрифта (основной, заголовочный, цифровой) плюс версии для каждого языка — батчинг текста разваливается. Решение: TMP Font Asset Creator с объединением глифов нужных языков в один атлас. Для кириллицы + латиницы + цифр обычно хватает одного атласа 2048×2048 — это сокращает draw calls на тексте до 1-2.

Как адаптировать UI под разные экраны?

Мобильные платформы добавляют задачу, которой нет на PC: UI должен корректно работать на 16:9, 18:9, 19.5:9, 4:3 и iPad-соотношениях одновременно. Ошибка в адаптации — одна из частых причин переделок, съедающих до 30% бюджета.

Инструменты:

  • Canvas Scaler с режимом Scale With Screen Size — базовая настройка. Reference Resolution 1080×1920 для мобильных, Match параметр 0.5 (баланс между шириной и высотой)
  • Anchor Presets — каждый элемент должен быть привязан к правильному краю или центру
  • Safe Area — на устройствах с вырезом и скруглёнными углами кнопки не должны попадать в недоступную зону. Решение: Screen.safeArea в коде, корректирует RectTransform корневого элемента

Проверка делается не только в редакторе Game View — нужно физическое тестирование на устройствах или Device Simulator (встроен в Unity). Закажите аудит текущего UI — мы выявим узкие места за 2-3 дня.

Локализация UI

Это не отдельная задача, а требование к архитектуре с первого дня. Типичная проблема: UI спроектирован под русский текст, который занимает N символов. Немецкий перевод в полтора раза длиннее. Кнопки ломаются, текст вылезает за границы. На этапе проектирования мы выполняем:

  • Все текстовые поля с Auto Size в TMP или явно заданными минимальным/максимальным размером
  • Кнопки с Horizontal Layout Group + Content Size Fitter вместо фиксированной ширины
  • Иконки и декоративные элементы не вставляем в строку с текстом через конкатенацию

Для реализации локализации используем Unity Localization Package (официальный) или I2 Localization (ассет, более гибкий для сложных случаев). Экономия времени на переделку при таком подходе — до 40%.

Что мы проверим в вашем UI за один день
  • Анализ draw calls и батчинг (с помощью Frame Debugger)
  • Перестройка Canvas (через Profiler, поиск лишних rebatch)
  • Работа Raycaster (удаление лишних)
  • Адаптивность (Safe Area, Anchor Presets)
  • Локализация (тест на сверхдлинные строки)
  • Качество шрифтов (атласы TMP, ошибки оверлапов)

Что входит в услугу

  • Проектирование навигационной структуры и флоу экранов
  • Прототипирование игрового интерфейса в Figma с передачей макетов в разработку
  • Реализация UI-компонентов в Unity (uGUI или UI Toolkit)
  • Аудит существующего UI по производительности: анализ draw calls, Canvas rebatch, лишних Raycaster
  • Настройка системы локализации и проверка на длинных переводах
  • Адаптация под мобильные соотношения сторон и Safe Area

Сроки: от 5 рабочих дней на аудит до 4 недель на полный цикл. Стоимость рассчитывается индивидуально — пишите, получите коммерческое предложение. 10+ лет в геймдеве, более 200 реализованных проектов гарантируют результат.