Создание 2D-спрайтов для мобильной игры
2D-спрайты для мобильной игры — это не просто рисунки. Это текстурные атласы, анимированные листы, оптимизированные под GPU компрессию и вписанные в draw call бюджет движка. Художник, который не понимает pipeline от Photoshop до работающей анимации в Unity, создаёт красивые картинки, которые роняют FPS на Android.
Технический контекст для спрайтов
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 TextureImporter — Compression: High Quality, Format: ASTC 6x6. Потеря качества при ASTC минимальна для игровой графики, экономия памяти — в 6–8 раз.
Pivot и Pixels Per Unit. Pivot спрайта (точка вращения) должен соответствовать логической точке объекта — для персонажа это основание ног, для снаряда — центр. Pixels Per Unit определяет масштаб в мировых координатах. Если PPU не согласованы между спрайтами — персонаж размером с башню или пиксель размером с экран.
Анимация спрайтов
Spritesheet vs individual frames. Spritesheet — стандарт: все кадры анимации в одном PNG на равных ячейках или запакованы через TexturePacker. TexturePacker (сторонний инструмент) упаковывает плотнее, чем Unity Sprite Editor, и поддерживает экспорт для любого движка.
Кадровая анимация в 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, иначе бинарные файлы несовместимы.
Из практики: платформер на Unity, 60 уникальных анимационных состояний персонажа. Художник нарисовал 8 кадров для каждого — 480 PNG файлов. Атлас не вмещался в 2048×2048, нужно было два атласа. После перехода на Spine с теми же спрайт-частями — 15 атрибутов плюс JSON данные анимаций, один атлас 1024×512. Анимации стали плавнее, размер сборки уменьшился на 40 МБ.
Стили и технические требования по типам
| Тип спрайта | Рекомендуемое разрешение | Формат | Особенности |
|---|---|---|---|
| Персонаж (покадровый) | 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 | Прозрачный фон, одинаковый стиль |
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.
Процесс создания
Типичный pipeline: концепт (набросок стиля) → черновик (контуры) → чистовик (линии) → заливка цветом → тени и свет → тест в движке → правки по техническим замечаниям → финальный экспорт с настройками под платформу.
Тест в движке — обязательный шаг до финализации. Цвета на мониторе художника и на экране устройства с 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 недель. Для крупного проекта — обсуждается индивидуально. Стоимость рассчитывается после анализа ТЗ.







