Как использовать плагин с пользовательскими персонажами
Это руководство проведёт вас через процесс настройки Runtime MetaHuman Lip Sync для персонажей, не являющихся MetaHuman. Этот процесс требует знакомства с концепциями анимации и риггинга. Если вам нужна помощь в реализации этого для вашего конкретного персонажа, вы можете обратиться за профессиональной поддержкой по адресу [email protected].
Важное замечание о моделях синхронизации губ
Пользовательские персонажи поддерживаются только моделью Standard (Faster).
Модель Realistic (Higher Quality) предназначена для персонажей MetaHuman и ARKit и не может использоваться с другими пользовательскими персонажами. На протяжении всего этого руководства, когда упоминаются инструкции из основного руководства по настройке, вы должны следовать инструкциям для модели Standard.
Требуется расширение плагина: Чтобы использовать модель Standard с пользовательскими персонажами, вы должны установить плагин-расширение Standard Lip Sync Extension, как описано в разделе "Предварительные требования" основного руководства по настройке.
Это расширение обязательно для всех реализаций пользовательских персонажей, описанных в этом руководстве.
Предварительные требования
Прежде чем начать, убедитесь, что ваш персонаж соответствует этим требованиям:
- Имеет валидный скелет
- Содержит морф-таргеты (блендшейпы) для мимики
- В идеале имеет 10+ морф-таргетов, определяющих висемы (чем больше висем, тем лучше качество синхронизации губ)
Плагин требует сопоставления морф-таргетов вашего персонажа со следующими стандартными висемами:
Sil -> Silence
PP -> Bilabial plosives (p, b, m)
FF -> Labiodental fricatives (f, v)
TH -> Dental fricatives (th)
DD -> Alveolar plosives (t, d)
KK -> Velar plosives (k, g)
CH -> Postalveolar affricates (ch, j)
SS -> Sibilants (s, z)
NN -> Nasal (n)
RR -> Approximant (r)
AA -> Open vowel (aa)
E -> Mid vowel (e)
IH -> Close front vowel (ih)
OH -> Close-mid back vowel (oh)
OU -> Close back vowel (ou)
Примечание: Если у вашего персонажа другой набор визем (что весьма вероятно), вам не нужны точные соответствия для каждой виземы. Часто достаточно приблизительных соответствий — например, сопоставление виземы SH вашего персонажа с виземой CH плагина будет работать эффективно, поскольку это близкие по звучанию постальвеолярные звуки.
Справочник по сопоставлению визем
Вот сопоставления между распространенными системами визем и виземами, требуемыми плагином:
- Apple ARKit
- FACS-Based Systems
- Preston Blair System
- 3ds Max Phoneme System
- Custom Characters (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
ARKit предоставляет комплексный набор блендшейпов для лицевой анимации, включая несколько форм рта. Вот как их сопоставить с виземами RuntimeMetaHumanLipSync:
| Визема RuntimeMetaHumanLipSync | Эквивалент ARKit | Примечания |
|---|---|---|
| Sil | mouthClose | Нейтральное/покоящееся положение |
| PP | mouthPressLeft + mouthPressRight | Для билабиальных звуков используйте оба пресс-шейпа вместе |
| FF | lowerLipBiteLeft + lowerLipBiteRight (или mouthRollLower) | Нижняя губа касается верхних зубов, как в звуках "f" и "v" |
| TH | tongueOut | ARKit имеет прямое управление языком |
| DD | jawOpen (слабо) + tongueUp (если есть риг языка) | Язык касается альвеолярного гребня; небольшое опускание челюсти |
| KK | mouthLeft или mouthRight (слабо) | Легкое подтягивание уголков рта аппроксимирует велярные звуки |
| CH | jawOpen (слабо) + mouthFunnel (слабо) | Комбинация для постальвеолярных звуков |
| SS | mouthFrown | Используйте легкое нахмуривание для сибилянтов |
| NN | jawOpen (очень слабо) + mouthClose | Почти закрытый рот с небольшим открытием челюсти |
| RR | mouthPucker (слабо) | Легкое округление для звуков r |
| AA | jawOpen + mouthStretchLeft + mouthStretchRight (или jawOpen + mouthOpen) | Широко открытый рот для звука "ah" |
| E | jawOpen (слабо) + mouthSmile | Средне-открытое положение с легкой улыбкой |
| IH | mouthSmile (слабо) | Легкое растягивание губ |
| OH | mouthFunnel | Округлая открытая форма |
| OU | mouthPucker | Плотно округленные губы |
FACS (Система кодирования лицевых движений) использует Блоки Действий (Action Units, AUs) для описания движений лица. Многие профессиональные системы анимации используют подходы на основе FACS:
| Визема RuntimeMetaHumanLipSync | Блоки Действий FACS | Примечания |
|---|---|---|
| Sil | Neutral | Нет активных AUs |
| PP | AU23 + AU24 | Сжиматель губ + напрягатель губ |
| FF | AU22 + AU28 | Воронкообразование губ + всасывание губ |
| TH | AU25 (слабо) + AU27 | Разомкнутые губы + растяжение рта |
| DD | AU25 + AU16 | Разомкнутые губы + опускатель нижней губы |
| KK | AU26 + AU14 | Опускание челюсти + ямочка |
| CH | AU18 + AU25 | Сморщивание губ + разомкнутые губы |
| SS | AU20 | Растягиватель губ |
| NN | AU25 (очень слабо) | Слегка разомкнутые губы |
| RR | AU18 (слабо) | Легкое сморщивание губ |
| AA | AU27 + AU26 | Растяжение рта + опускание челюсти |
| E | AU25 + AU12 | Разомкнутые губы + подтягиватель уголков губ |
| IH | AU12 + AU25 (слабо) | Подтягиватель уголков губ + слабо разомкнутые губы |
| OH | AU27 (слабо) + AU18 | Легкое растяжение рта + сморщивание губ |
| OU | AU18 + AU26 (слабо) | Сморщивание губ + легкое опускание челюсти |
Система Престона Блэра — это классический стандарт анимации, использующий описательные названия для форм рта:
| Визема RuntimeMetaHumanLipSync | Preston Blair | Примечания |
|---|---|---|
| Sil | Rest | Нейтральное закрытое положение рта |
| PP | MBP | Классическая форма рта "MBP" |
| FF | FV | Положение "FV" с зубами на нижней губе |
| TH | TH | Язык касается передних зубов |
| DD | D/T/N | Похожее положение для этих согласных |
| KK | CKG | Положение для твердых согласных |
| CH | CH/J/SH | Легкий надутый вид для этих звуков |
| SS | S/Z | Слегка открытое положение зубов |
| NN | N/NG/L | Похоже на D/T, но другое положение языка |
| RR | R | Округленные губы для звука R |
| AA | AI | Широко открытый рот |
| E | EH | Средне открытый рот |
| IH | EE | Растянутые губы |
| OH | OH | Округленное среднее открытие |
| OU | OO | Плотно округленные губы |
3ds Max использует фонемную систему для своей Character Studio:
| Визема RuntimeMetaHumanLipSync | Фонема 3ds Max | Примечания |
|---|---|---|
| Sil | rest | Положение рта по умолчанию |
| PP | p_b_m | Прямой эквивалент |
| FF | f_v | Прямой эквивалент |
| TH | th | Прямой эквивалент |
| DD | t_d | Прямой эквивалент |
| KK | k_g | Прямой эквивалент |
| CH | sh_zh_ch | Комбинированная форма |
| SS | s_z | Прямой эквивалент |
| NN | n_l | Объединены для этих звуков |
| RR | r | Прямой эквивалент |
| AA | ah | Открытый гласный звук |
| E | eh | Средний гласный |
| IH | ee | Закрытый передний гласный |
| OH | oh | Задний округленный гласный |
| OU | oo | Закрытый задний гласный |
Пользовательские персонажи с виземами или блендшейпами/морф-таргетами рта (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe и т.д.) обычно могут быть сопоставлены с системой визем плагина с разумными приближениями.
Создание пользовательского Pose Asset
Выполните следующие шаги, чтобы создать пользовательский Pose Asset для вашего персонажа, который будет использоваться с нодой Blend Runtime MetaHuman Lip Sync:
1. Найдите Skeletal Mesh вашего персонажа
Найдите скелетный меш (Skeletal Mesh), который содержит морф-таргеты (блендшейпы), которые вы хотите использовать для анимации синхронизации губ. Это может быть меш всего тела или только лица, в зависимости от дизайна вашего персонажа.
2. Проверьте Morph Targets и Curves
Прежде чем продолжить, убедитесь, что ваш скелетный меш имеет подходящие морф-таргеты и соответствующие кривые для анимации синхронизации губ.
Проверка Morph Targets: Убедитесь, что ваш скелетный меш содержит морф-таргеты (блендшейпы), которые можно использовать в качестве визем для анимации синхронизации губ. Большинство персонажей с поддержкой лицевой анимации должны иметь некоторые фонемные/виземные морф-таргеты.

Важно: Проверьте вкладку Curves Этот шаг особенно важен для персонажей, экспортированных из Blender или другого внешнего ПО:
- Откройте вкладку Curves в редакторе Skeletal Mesh
- Проверьте, видите ли вы кривые, соответствующие вашим морф-таргетам
- Если вкладка Curves пуста, но морф-таргеты существуют, вручную добавьте новые кривые, используя точно такие же имена, как у ваших морф-таргетов
Примечание: Эта проблема часто возникает с экспортами из Blender, где морф-таргеты импортируются успешно, но кривые анимации не создаются автоматически. Без соответствующих кривых анимация не будет правильно заполняться после выпекания (bake) в Control Rig.
Альтернативное решение: Чтобы предотвратить эту проблему при экспорте из Blender, попробуйте включить Custom Properties и Animation в настройках экспорта FBX, что может помочь включить кривые анимации вместе с морф-таргетами.
3. Создайте Reference Pose Animation
- Перейдите в
Create Asset -> Create Animation -> Reference Pose - Введите описательное имя для последовательности анимации и сохраните ее в подходящем месте
- Созданная Animation Sequence откроется автоматически, показывая пустую анимацию, воспроизводящуюся в цикле

- Нажмите кнопку
Pause, чтобы остановить воспроизведение анимации для удобства редактирования

4. Отредактируйте Animation Sequence
- Нажмите на
Edit in Sequencer->Edit with FK Control Rig - В диалоговом окне
Bake to Control Rigнажмите кнопкуBake to Control Rig, не меняя никаких настроек

- Редактор переключится в
Animation Modeс открытой вкладкойSequencer - Установите
View Range End Timeна 0016 (что автоматически установитWorking Range Endтакже на 0016) - Перетащите правый край ползунка в правый конец окна секвенсора
5. Prepare the Animation Curves
- Вернитесь к ассету Animation Sequence и найдите морф-таргеты в списке
Curves(если они не видны, закройте и снова откройте ассет Animation Sequence) - Удалите все морф-таргеты, которые не относятся к висемам или движениям рта, которые вы хотите использовать для липсинка
6. Plan your viseme mapping
Создайте план сопоставления, чтобы связать висемы вашего персонажа с требуемым набором плагина. Например:
Sil -> Sil
PP -> FV
FF -> FV
TH -> TH
DD -> TD
KK -> KG
CH -> CH
SS -> SZ
NN -> NL
RR -> RR
AA -> AA
E -> E
IH -> IH
OH -> O
OU -> U
Обратите внимание, что допустимо иметь повторяющиеся сопоставления, если набор визем вашего персонажа не имеет точных соответствий для каждой требуемой виземы.
7. Animate each viseme
- Для каждой виземы анимируйте соответствующие кривые морф-таргетов от 0.0 до 1.0
- Начинайте анимацию каждой виземы на отдельном кадре
- Настройте дополнительные кривые по мере необходимости (открытие челюсти/рта, положение языка и т.д.), чтобы создать естественно выглядящие формы визем
8. Create a Pose Asset
- Перейдите в
Create Asset->Pose Asset->Current Animation - Введите описательное имя для Pose Asset и сохраните его в подходящем месте
- Созданный Pose Asset откроется автоматически, показывая позы, такие как
Pose_0,Pose_1и т.д., каждая из которых соответствует визему - Просмотрите веса виземов, чтобы убедиться, что они работают как ожидалось

9. Finalize the Pose Asset
- Переименуйте каждую позу, чтобы она соответствовала названиям виземов из раздела Prerequisites
- Удалите все неиспользуемые позы
Настройка обработки и смешивания аудио
После того как ваш ассет позы готов, необходимо настроить узлы обработки и смешивания аудио:
- Найдите или создайте Animation Blueprint вашего персонажа
- Настройте обработку и смешивание аудио, следуя тем же шагам, что описаны в стандартном руководстве по настройке плагина
- В узле
Blend Runtime MetaHuman Lip Syncвыберите ваш пользовательский Pose Asset вместо стандартного ассета поз MetaHuman

Комбинирование с анимациями тела
Если вы хотите выполнять синхронизацию губ одновременно с другими анимациями тела:
- Следуйте тем же шагам, что описаны в стандартном руководстве по плагину
- Убедитесь, что вы предоставляете правильные имена костей для скелета шеи вашего персонажа, вместо использования имён костей MetaHuman
Результаты
Вот примеры пользовательских персонажей, использующих эту настройку:



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