Створення 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 |
Це трикутники, не полігони. Unity та Godot показують tris. Blender за замовчуванням показує faces — множимо на ~2 для триангульованих мешей.
LOD (Level of Detail) обов'язковий для персонажів, видимих на відстані. LOD0 (повний), LOD1 (50–60% polycoun), LOD2 (25%). Компонент LODGroup у Unity перемикається автоматично за відстанню. Економія draw calls значна при 10+ персонажах у сцені.
Rigging та Skinning
Humanoid rig. Unity Animator із Avatar — для персонажів гуманоїдного формату. Дозволяє застосовувати motion capture анімації та Mecanim transitions. Кількість костей: 20–40 для мобільного персонажа. Більше означає вищу CPU-навантаження на skinning.
Generic rig. Для істот, транспорту, нестандартних форм. Менше обмежень на ієрархію костей. BlendTree у Animator для плавних переходів між анімаційними станами.
Якість skinningu. У 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, залишають тільки для головного героя.
Текстурна атласизація. Кілька персонажів на одному текстурному атласі = один 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 для далеких ворогів — draw calls 45, стабільні 60 FPS. Зміни тільки в налаштуваннях конвеєру, 3D-моделі не торкалися.
URP проти Built-in
Unity Universal Render Pipeline (URP) — стандарт для нових мобільних проектів. Краща продуктивність, Shader Graph для кастомних шейдерів без HLSL, вбудована рендер-функція для ефектів outline (популярна в мобільних RPG). Shader Lit у URP швидший за Built-in Standard shader на мобілю.
Stylized шейдери (cel shading, toon) популярні в мобільних іграх, добре працюють із низькополігональними моделями. Можна зробити через Shader Graph без програмування: Ramp Texture для світла + Fresnel для rim light = cartoon look.
Конвеєр створення
Блокування (базові форми) → деталізація → retopology (чиста топологія для rigging) → UV unwrap → запічка нормалей з high-poly версії → текстурування (Substance Painter) → rigging + skininng → тест в рушії з цільовим шейдером → оптимізація за результатами профілювання.
Retopology — ключовий крок. Автоматичний ремеш (Blender Remesh) дає погану топологію для деформуємих місць (суглоби, обличчя). Ручний ретоп по edge flow для персонажів із анімацією обов'язковий.
Що входить у роботу
- 3D-моделювання з дотриманням полігонального бюджету
- UV unwrap із оптимальним використанням текстурного простору
- Запічка деталей high-poly → low-poly
- Текстурування (Albedo, Normal, Metallic/Roughness)
- Rigging та skininng для 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, вороги) — швидше через переиспользование базового меша. Вартість розраховується індивідуально.







