Создание 2D-спрайтов для мобильной игры с оптимизацией

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Создание 2D-спрайтов для мобильной игры с оптимизацией
Средний
от 2 недель до 3 месяцев
Часто задаваемые вопросы

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

Этапы разработки

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

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    859
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    746
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1163
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1035
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    970
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    563

Создание 2D-спрайтов для мобильной игры с оптимизацией

Создание 2D-спрайтов для мобильной игры — это не просто рисунки. Мы знаем, что каждый спрайт должен быть оптимизирован под GPU, упакован в атласы и вписан в draw call бюджет. Без этого красивый арт роняет FPS на Android. За 5 лет работы мы выполнили более 50 проектов, где каждый спрайт проходил проверку на реальных устройствах.

Технический контекст для спрайтов

Sprite atlas. Множество отдельных PNG — это множество draw calls. Один атлас 2048×2048 с 50 спрайтами — один draw call. В Unity: Sprite Atlas через Package Manager, автоматическая упаковка через SpriteAtlas.Pack(). В Godot: AtlasTexture. Для 2D-игры с сотнями спрайтов атласы обязательны — иначе mid-range Android не вывезет.

Компрессия текстур. PNG на устройстве занимает место в RAM в несжатом виде — 2048×2048 RGBA = 16 МБ GPU памяти. Нужна GPU-нативная компрессия: ASTC 6x6 для iOS (iPhone 6+) и современного Android, ETC2 для старых Android (API 18+). В Unity TextureImporterCompression: High Quality, Format: ASTC 6x6. Потеря качества при ASTC минимальна для игровой графики, экономия памяти — в 6–8 раз.

Как оптимизировать спрайты для разных платформ?

Выбор формата компрессии — ключевой шаг. Для iOS оптимален ASTC 6x6, для Android — ASTC 4x4 или ETC2. Если игра поддерживает старые устройства, используйте ETC2 с fallback на ETC1 для прозрачности. В Unity настройка происходит через TextureImporter с выбором платформы. Мы гарантируем, что каждый спрайт пройдёт тест на эталонных устройствах.

Pivot и Pixels Per Unit. Pivot спрайта (точка вращения) должен соответствовать логической точке объекта — для персонажа это основание ног, для снаряда — центр. Pixels Per Unit определяет масштаб в мировых координатах. Если PPU не согласованы между спрайтами — персонаж размером с башню или пиксель размером с экран.

Анимация спрайтов

Spritesheet vs individual frames. Spritesheet — стандарт: все кадры анимации в одном PNG на равных ячейках или запакованы через TexturePacker. TexturePacker упаковывает плотнее, чем Unity Sprite Editor, и поддерживает экспорт для любого движка.

Spine 2D documentation рекомендует использовать скелетную анимацию для персонажей, чтобы уменьшить размер сборки и повысить плавность.

Кадровая анимация в Unity: Animator + AnimationClip с Sprite property keyframes. Для простых анимаций (4–8 кадров) — Animator Override Controller позволяет менять анимацию без создания нового AnimatorController.

Skeletal animation (Spine, DragonBones). Для персонажей с плавной анимацией — скелетная анимация эффективнее покадровой. Spine 2D (платный, ~$69 essential) или бесплатный DragonBones. Один спрайт-лист с частями тела (руки, ноги, торс, голова) + кости + keyframe данные = плавная анимация без рисования 30 кадров бега. Spine Runtime для Unity — официальный пакет от Esoteric Software. Важно: версия Spine Runtime должна совпадать с версией Spine Editor, иначе бинарные файлы несовместимы.

Что выбрать: покадровую или скелетную анимацию?

Если игра требует плавных переходов (персонажи, животные) — скелетная анимация сэкономит до 40% размера сборки. Для простых объектов (враги, снаряды) достаточно покадровой. Мы помогаем выбрать оптимальный подход под ваш проект.

Из практики: платформер на Unity, 60 уникальных анимационных состояний персонажа. Художник нарисовал 8 кадров для каждого — 480 PNG файлов. Атлас не вмещался в 2048×2048, нужно было два атласа. После перехода на Spine с теми же спрайт-частями — 15 атрибутов плюс JSON данные анимаций, один атлас 1024×512. Анимации стали плавнее, размер сборки уменьшился на 40 МБ. Экономия на хранении и загрузке — до 60%.

Стили и технические требования по типам

Тип спрайта Рекомендуемое разрешение Формат Особенности
Персонаж (покадровый) 128×128 — 512×512 на кадр PNG + Atlas Четное кол-во кадров для Spine
Тайлы фона 64×64 — 256×256 PNG + Atlas Точное совпадение краёв (seamless)
UI-элементы 2× / 3× разрешение PNG + 9-slice 9-slice для кнопок и рамок
Эффекты (VFX) 64×64 — 256×256 PNG sequence Particle System в Unity
Иконки предметов 128×128 или 256×256 PNG + Atlas Прозрачный фон, одинаковый стиль

Сравнение форматов компрессии

Формат Платформа Сжатие Качество
ASTC 6x6 iOS, Android 6:1 Отличное
ETC2 Android (API 18+) 4:1 Хорошее
PVRTC iOS (устаревший) 4:1 Среднее
Типичные ошибки при создании спрайтов - Использование PNG без сжатия в рантайме (огромный расход RAM). - Несовпадение Pivot и PPU между персонажами (размеры «скачут»). - Анимационные листы с нечётным количеством кадров (Spine требует чётное). - Отсутствие теста на реальном устройстве (цвета на мониторе искажаются).

Pixel art специфика

Pixel art требует дополнительных настроек. Filter Mode: Point (no filter) в Unity — иначе пиксели сглаживаются. Pixels Per Unit = размер спрайта в пикселях (спрайт 32px = PPU 32). Compression: None — ASTC разрушает чёткость пикселей. Для движения без субпиксельного мерцания — Round Sprites to Nearest Pixel в Camera.

Процесс создания

  1. Концепт (набросок стиля, мудборд).
  2. Черновик (контуры, композиция).
  3. Чистовик (линии, цвета).
  4. Заливка цветом, тени, свет.
  5. Тест в движке: проверка компрессии, размеров, анимации.
  6. Правки по техническим замечаниям.
  7. Финальный экспорт с настройками под платформу.

Тест в движке — обязательный шаг до финализации. Цвета на мониторе художника и на экране устройства с AMOLED-дисплеем могут отличаться. Тёмные тени на чёрном фоне «проваливаются» на некалиброванных экранах. Мы гарантируем, что каждый спрайт пройдёт тест на физическом устройстве.

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

  • Создание спрайтов в согласованном стиле (по мудборду или референсам)
  • Анимационные листы для покадровой анимации или rig-ready части для Spine/DragonBones
  • Подготовка атласов под Unity / Godot / Cocos Creator
  • Настройка Pivot, PPU, компрессии текстур
  • Тест в движке с коррекцией
  • Исходники в PSD / Aseprite (для pixel art)

Сроки и бюджет

Зависит от количества и сложности спрайтов. Один персонаж с базовым набором анимаций (idle, run, jump, attack, death) — 5–10 рабочих дней. Полный пакет спрайтов для гипер-казуальной игры (персонаж + окружение + UI) — 2–6 недель. Для крупного проекта — обсуждается индивидуально. Средний бюджет на такой проект — от 200 000 рублей. Стоимость рассчитывается после анализа ТЗ — свяжитесь с нами для оценки.

Получите консультацию по оптимизации спрайтов — мы подберём наилучший пайплайн для вашей игры.

Дизайн мобильных приложений: почему макет из Figma не гарантирует готовый интерфейс

Дизайнер присылает макет — красивый, с градиентами и кастомными компонентами. Разработчик открывает его и понимает: кнопка в 36pt, тапзона 20pt. На iPhone SE она физически не нажимается большим пальцем. Bottom sheet перекрывает контент при появлении клавиатуры. Навигация построена против нативной модели iOS. Apple отклонит приложение или пользователи уйдут через неделю — зависит от того, насколько повезёт пройти ревью.

Мы проектируем мобильные UX/UI более 5 лет и видели сотню таких ситуаций. За это время спроектировали и помогли запустить 30+ мобильных приложений — от финтех-продуктов до социальных сетей. Вам не нужно гадать, пройдёт ли дизайн App Review или Google Play — мы закладываем платформенные требования с первого экрана. Оценим ваш проект за один день, свяжитесь с нами.

Мобильный UX/UI — это не адаптация веб-дизайна. Это отдельная дисциплина с конкретными ограничениями платформы: safe area, тач-жесты, UIViewController lifecycle, Activity state management.

Почему Human Interface Guidelines и Material Design 3 нельзя игнорировать?

Apple HIG и Google Material Design 3 — не эстетические рекомендации. Это задокументированные ожидания пользователей, сформированные годами использования системных приложений. Ожидания, которые подтверждаются исследованиями пользовательского опыта на мобильных платформах (User experience design).

HIG определяет: минимальная тапзона 44×44 pt, safe area insets для нотча и Dynamic Island, стандартные жесты (swipe back на iOS, back gesture на Android 10+). Игнорирование safe area — распространённая ошибка. safeAreaLayoutGuide на UIKit и safeAreaPadding в SwiftUI существуют именно для этого. Дизайнер, не проставивший отступы от safe area в Figma, гарантирует баг при верстке.

Material Design 3 принёс Dynamic Color — цветовая схема генерируется из обоев пользователя через MaterialTheme.colorScheme в Jetpack Compose. Приложение, игнорирующее dynamic colors на Android 12+, выглядит чужеродно. Это не критично для нишевых продуктов, но заметно в массовых.

Самые болезненные несоответствия платформенным гайдам, которые встречаем на проектах:

  • Кастомная навигация поверх системной. Пользователь iOS ожидает swipe back из любой точки левого края экрана. Кастомный NavigationController без интерактивного жеста ломает это. Пользователь Android ожидает системную кнопку назад — кастомная back-кнопка в левом углу не заменяет её полностью.
  • Модальные окна вместо navigation push. Bottom sheet уместен для действий, не для навигации по контенту.
  • Отсутствие haptic feedback. UIImpactFeedbackGenerator на iOS — не украшение, а часть отклика интерфейса. Кнопки, свайпы, confirmation actions без тактильного отклика ощущаются сломанными.

Таблица: Сравнение требований iOS и Android для UX/UI

Параметр iOS (HIG) Android (Material Design 3)
Минимальная тапзона 44×44 pt 48×48 dp
Safe area safeAreaLayoutGuide / safeAreaPadding insets в WindowInsets
Жест назад Swipe from left edge System back gesture (Android 10+)
Цветовая схема Системная тёмная/светлая Dynamic Color из обоев
Типографика San Francisco (Dynamic Type) Roboto (Material Type Scale)
Haptic feedback UIImpactFeedbackGenerator HapticFeedbackConstants (Compose)

Как выжать максимум из Figma?

Figma Variables API изменил рабочий процесс. Design tokens — цвета, типографика, радиусы, отступы — хранятся как переменные и экспортируются напрямую в код через figma-tokens или style-dictionary. Это убирает слой ручного перекладывания значений и рассинхронизацию между дизайном и реализацией. Практика показывает: Figma Variables ускоряет передачу макетов в разработку в 2–3 раза по сравнению со статичными фреймами, а использование design tokens снижает количество ошибок при переносе в код на 60%.

Auto Layout с wrap и spacing между элементами позволяет строить компоненты, которые ведут себя как flex-контейнеры. Разработчик открывает компонент и видит не статичный артефакт, а описание поведения при разных размерах контента.

Component Properties — variants, boolean toggles, instance swaps — дают возможность собрать полноценную дизайн-систему прямо в Figma. Кнопка с 4 состояниями (default, hover, pressed, disabled), 3 размерами и 2 вариантами иконки — один компонент, а не 24 фрейма.

Figma Prototype с Variables позволяет сделать интерактивный прототип с реальным состоянием: показать, как экран меняется при разных значениях переменных. Это уже не просто «кликабельный макет», а полноценный инструмент для UX-тестирования.

Прототипирование и UX-тестирование до разработки

Самая дорогая ошибка в мобильном продукте — разработать фичу, выпустить её и обнаружить, что пользователи не понимают, как она работает. Figma-прототип на тестировании стоит нулевых часов разработки. Переделка готового экрана стоит дней. Тестирование прототипа до начала разработки снижает количество правок на 80%.

Для usability-тестирования используем Maze (тест задач на прототипе — пользователь проходит сценарий, мы получаем heatmaps и mis-click rate) или прямые сессии через UserTesting. Ключевые метрики — task completion rate и time on task, а не «нравится / не нравится».

A/B-тест в мобайле сложнее, чем в вебе: App Store не позволяет менять UI без обновления приложения. Поэтому важно тестировать гипотезы на прототипе до релиза, а не через production-эксперименты. По данным исследований, исправление бага, обнаруженного на прототипе, обходится в 10 раз дешевле, чем после выхода в продакшн. А среднее время выполнения задачи увеличивается на 40% после грамотной UX-оптимизации на этапе прототипирования.

Почему анимации критичны для восприятия интерфейса?

Анимации в мобайле — это обратная связь. Элемент появляется не мгновенно — он приходит в нужное состояние за 200–350 мс. Это даёт мозгу контекст для понимания, что произошло.

  • iOS: withAnimation в SwiftUI, UIViewPropertyAnimator в UIKit для интерактивных анимаций с возможностью прерывания. Spring animations с dampingRatio — основа большинства системных переходов Apple.
  • Android: AnimatedVisibility, animateContentSize, Crossfade в Compose. MotionLayout для сложных сцен с несколькими трансформациями.
  • Flutter: AnimationController + Tween, Hero-анимации между экранами, Lottie для After Effects-экспортов. Lottie особенно эффективен для onboarding-иллюстраций и пустых состояний.

Ключевое ограничение — 16 мс на кадр (60 fps) или 8 мс (120 fps на ProMotion-устройствах). Анимации должны работать на GPU через CALayer/RenderThread, а не на CPU через layoutSubviews. Профилирование через Core Animation instrument в Xcode — обязательный шаг перед релизом анимированных экранов.

Accessibility: не опциональная функция

VoiceOver на iOS и TalkBack на Android используют до 15% пользователей — эта статистика подтверждается исследованиями доступности, описанными в Accessibility (Wikipedia). В абсолютных числах для крупного приложения это тысячи человек. Кроме этого, App Store rejections по accessibility случаются, хотя редко.

Минимальный чеклист:

  • Все интерактивные элементы имеют accessibilityLabel
  • Контрастность текста не ниже 4.5:1 (WCAG AA)
  • Dynamic Type поддержан — интерфейс не ломается при максимальном размере шрифта
  • Фокус VoiceOver проходит по экрану в логичном порядке

SwiftUI автоматически генерирует accessibility tree из семантики компонентов. UIKit требует ручной расстановки accessibilityTraits, accessibilityHint, группировки через shouldGroupAccessibilityChildren.

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

В результат проектирования UX/UI входят:

Deliverable Описание
User flows и wireframes Структура экранов и пути пользователя
Дизайн-система Design tokens, компоненты, Style Dictionary для экспорта
UI-макеты (Figma) Все экраны с учётом платформенных гайдов
Интерактивный прототип Прототип с переменными и анимациями
Спецификация для разработки Zeplin / Figma Dev Mode с размерами, отступами, состояниями
Гайд по сопровождению Рекомендации по добавлению новых экранов и компонентов

Процесс и сроки

Проектирование проходит этапы: исследование и конкурентный анализ → user flows и wireframes → дизайн-система → UI-макеты → прототип → тестирование → передача в разработку.

Ориентиры по срокам:

Объём Срок
Редизайн 3–5 экранов 1–2 недели
MVP (10–15 экранов) 3–5 недель
Полноценный продукт (30+ экранов) 6–10 недель

Стоимость рассчитывается после анализа требований — количество экранов, сложность компонентов, нужна ли дизайн-система или работаем с существующей. Получите консультацию по вашему проекту — свяжитесь с нами для предварительной оценки. Закажите дизайн мобильного приложения под ключ — оценим проект за 1 день и предложим оптимальный объём работ.