Настройка рига лиця та мімики персонажів ігор
Лицо — місце, де гравець читає емоцію. Неточна мімика руйнує занурення швидше, ніж будь-який інший технічний недолік. При цьому фейс-риг — одна з найскладніших завдань у конвеєрі: тут перетинаються скелетна анімація, blend shapes, процедурні Constraints та вимоги рушія до продуктивності.
Два підходи: кості проти Blend Shapes
У ігровому контексті вибір між костями та morph targets (Blend Shapes / Shape Keys) визначається рушієм та платформою.
Кості (Joint-based rig) — працюють у будь-якому рушієві через стандартний skinned mesh. Підтримують будь-який тип Avatar, інтегруються в Animator Controller, управляються через Animation Rigging. Мінус: на тонких деформаціях навколо очей та губ кості дають кутастість — потрібно багато костей для органічного руху.
Blend Shapes (Morph Targets) — кожна поза лиця зберігається як окремий mesh offset. Деформація лінійна, легко передбачувана, ідеально підходить для мімічних виразів та lip sync. Unity підтримує Blend Shapes через SkinnedMeshRenderer.SetBlendShapeWeight(index, weight). Обмеження: Linear blend між крайніми позами може давати "танючий" ефект при складних комбінаціях (усмішка + прищур + піднята брова).
Правильна відповідь для AAA персонажів: комбінація обох. Кості для очей, брів, щелепи (точні обертання з чітким контролем). Blend Shapes для складних деформацій щік, носогубних складок, зморщок при усмішці.
Структура фейс-рига на костях
Мінімальний набір для виразного персонажа:
- Jaw — нижня щелепа, 1 кість з Limit Rotation. Обертання вниз по X: 0–20° для розмови, до 30° для крику. Також контролює невелике зміщення нижної губи через Constraint
- UpperLid_L/R, LowerLid_L/R — повіки. 4 кості з обмеженим діапазоном. Copy Rotation з мінімальним внеском Eye-кості (при русі ока повіко трохи слідує — Corneal Bulge ефект)
- Eye_L/R — очні яблука. Track To до Eye_Target — спільну ціль, яку аніматор рухає замість окремих очей. Обмеження: ±30° по X та Y
- Brow_Inner_L/R, Brow_Mid_L/R, Brow_Outer_L/R — брови. 6 костей для контролю форми. FK-управління через контрольні кості
- LipCorner_L/R — уголки губ. Ключові точки для усмішки/гримаси
- UpperLip_C, LowerLip_C — центри губ для поцілунку та здивування
Разом: 16–20 костей для базового фейс-рига. Для діалогової гри з детальним lip sync — 30–40.
Blend Shapes для мімики: іменування та ARKit
ARKit standard — де-факто стандарт іменування Blend Shapes для фейс-трекінгу. 52 іменовані морфи: eyeBlinkLeft, jawOpen, mouthSmileLeft, browInnerUp та т.д. Якщо планується live face tracking або імпорт готових анімацій — іменування за ARKit-стандартом обов'язково, інакше маппінг доведеться робити вручну.
VRM-формат для аватарів використовує свій набір: A, I, U, E, O для голосних, Joy, Angry, Sorrow, Fun, Blink, BlinkLeft, BlinkRight. Якщо проект орієнтований на VTuber-платформи або VRChat — VRM-іменування стандартно.
Для Unity з Animator: Blend Shape ваги оновляються через C# скрипт або через Animation Clip. Анімовані Blend Shapes у FBX — стандартний шлях. У FBX експорті з Blender: включити Shape Keys, переконатися що Relative Shape Keys, не Absolute.
Lip Sync: інструменти та інтеграція
Для автоматичного lip sync два основні варіанти:
Oculus OVR LipSync SDK — фонемна система, працює на аудіо потоці в реальному часі. Виводить ваги для 15 візем (viseme), маппінг на Blend Shapes через OVRLipSyncContext компонент. Підтримує Unity.
SALSA LipSync Suite (Asset Store) — ширший маппінг, підтримка timeline для кат-сцен, можливість offline-обробки аудіо. Працює як з Blend Shapes, так і з Joint-ригом.
Ручний lip sync за ключовими кадрами — для кат-сцен та важливих діалогових сцен, де автоматика не дає потрібної якості. Процес: Waveform у Timeline, ключові кадри Blend Shape Weight за фонемами на потрібних позиціях.
Ваги скіннінгу для лиця
Лицо скіннингується окремо від тіла — з виключно дрібними вагами та великою кількістю контрольних точок. Особливі зони:
Уголки очей. Повинні деформуватися разом з повіком та не слідувати за Eye-костю. Вес на Eye-кість — 0, вес на UpperLid = 0.5, LowerLid = 0.5.
Носогубна складка. При усмішці через LipCorner-кість складка повинна углублюватися — це краще через Blend Shape, не через кості. Якщо немає Blend Shapes — окрема Cheek-кість зі Stretch To.
Лоб. Зазвичай скіннингується повністю на Head-кість без вторинних інфлуенсів, деформується лише через Blend Shapes або Brow-кості.
Терміни
| Завдання | Орієнтовна тривалість |
|---|---|
| Базовий фейс-риг на костях (16–20 костей) | від 1 до 2 днів |
| Набір Blend Shapes (30–52 морфи) | від 2 до 4 днів |
| Комбінований риг кості + Blend Shapes | від 3 до 5 днів |
| Інтеграція Lip Sync SDK у Unity | від 1 до 2 днів |
Фейс-риг сильніше всього залежить від якості вихідної геометрії лиця — топологія з edge loop навколо рота та очей спрощує роботу. Вартість розраховується після оцінки меша та вимог до мімики.





