Создание 3D-моделей персонажей для мобильной игры
3D-персонаж для мобильной игры — это баланс между визуальным качеством и техническими ограничениями устройства. Модель, великолепно выглядящая в Blender, может роняет FPS до 20 на Samsung Galaxy A32, если полигональный бюджет и текстуры не оптимизированы под мобайл.
Полигональный бюджет
Целевые показатели для мобильных персонажей:
| Тип игры | Главный персонаж | NPC / враги | Фоновые |
|---|---|---|---|
| Hyper-casual 3D | 500–1500 tri | 200–800 tri | 100–400 tri |
| Casual 3D | 1500–4000 tri | 800–2000 tri | 300–1000 tri |
| Midcore (как Alto's Odyssey 3D) | 3000–8000 tri | 1000–4000 tri | 500–2000 tri |
Это triangles, не polygons. В Unity и Godot счётчик показывает tris. Blender по умолчанию показывает faces — умножаем на ~2 для триангулированных мешей.
LOD (Level of Detail) — обязателен для персонажей, которые могут быть далеко от камеры. LOD0 (полный), LOD1 (50–60% поликаунта), LOD2 (25%). Unity LODGroup компонент переключает автоматически по расстоянию. Экономия draw calls существенная при сценах с 10+ персонажами.
Риг и скининг
Humanoid rig. Unity Animator с Avatar — для персонажей humanoid формата. Позволяет применять motion capture анимации и Mecanim transitions. Количество костей: 20–40 для мобильного персонажа. Больше — выше CPU нагрузка на skinning.
Generic rig. Для существ, транспорта, нестандартных форм. Меньше ограничений по иерархии костей. BlendTree в Animator для плавных переходов между анимационными состояниями.
Skinning quality. В Unity Quality Settings → Skin Weights — для мобайла 2 Bones вместо 4 Bones. Разница в качестве деформации минимальна, экономия CPU заметна на 20+ персонажах на экране.
Blend shapes (morph targets) — для мимики лица. Каждый blend shape = дополнительный проход по вершинам. На мобайле ограничиваем до 5–10 ключевых выражений для главного персонажа.
Текстуры и материалы
Texel density — плотность пикселей текстуры на единицу поверхности — должна быть согласована между всеми персонажами сцены. Персонаж с 4K текстурой рядом с NPC на 256px выглядит некомпактно.
Стандартные текстуры для PBR персонажа: Albedo (Base Color), Metallic/Roughness (или Specular), Normal Map, Emission (если есть). На мобайле: Normal Map часто убирают с дальних NPC, оставляют только для главного героя.
Atlasing текстур. Несколько персонажей на одном текстурном атласе = один Material = один Draw Call для всех. Особенно важно для батальных сцен с однотипными врагами. В Unity — GPU Instancing + общий Material — отрисовка 100 одинаковых врагов за один draw call.
Компрессия: ASTC 6x6 для iOS, ETC2 для Android. Albedo — ASTC 6x6 (lossy но приемлемо для непрозрачных текстур). Normal Map — ASTC 4x4 (нужна большая точность для корректного освещения).
Из практики: midcore RPG, Unity URP. Сцена с 15 врагами давала 200+ draw calls, FPS 25 на iPhone 11. После внедрения GPU Instancing + общий Material + LOD1 для врагов дальше 10 метров — draw calls 45, FPS стабильные 60. Изменения только в pipeline настройках, 3D-модели не трогали.
URP vs Built-in
Unity Universal Render Pipeline (URP) — стандарт для новых мобильных проектов. Лучшая производительность, Shader Graph для кастомных шейдеров без HLSL, встроенный renderer feature для outline эффектов (популярный стиль в мобильных RPG). Lit shader в URP быстрее Built-in Standard shader на мобайле.
Stylized шейдеры (cel shading, toon) — популярны в мобильных играх, хорошо работают с низкополигональными моделями. Можно сделать через Shader Graph без программирования: Ramp Texture для света + Fresnel для rim light = cartoon look.
Pipeline создания
Блокинг (базовые формы) → детализация → retopology (чистая топология под риг) → UV unwrap → запечка нормалей с high-poly версии → текстурирование (Substance Painter) → риг + скининг → тест в движке с целевым шейдером → оптимизация по итогам профилирования.
Retopology — ключевой шаг. Автоматический ремеш (Blender Remesh) даёт плохую топологию для деформируемых мест (суставы, лицо). Ручной ретоп по edge flow для персонажей с анимацией — обязателен.
Что входит в работу
- 3D-моделирование с соблюдением полигонального бюджета
- UV unwrap с оптимальным использованием текстурного пространства
- Запечка деталей high-poly → low-poly
- Текстурирование (Albedo, Normal, Metallic/Roughness)
- Риг и скининг под humanoid или generic rig
- LOD0 + LOD1 + LOD2
- Экспорт в FBX/glTF с настройками под Unity / Godot
- Тест в движке с проверкой анимации и шейдера
Сроки
Один персонаж casual-уровня (1500–4000 tri, базовый набор текстур, humanoid rig) — 2–4 недели. Герой midcore-игры с полной текстурной картой, blend shapes и LOD — 4–8 недель. Серийное производство похожих персонажей (NPC, враги) — быстрее за счёт переиспользования базового меша. Стоимость рассчитывается индивидуально.







