Как использовать плагин с собственными персонажами
Это руководство проведёт вас через процесс настройки Runtime MetaHuman Lip Sync для персонажей, не являющихся MetaHuman. Этот процесс требует знакомства с концепциями анимации и риггинга. Если вам нужна помощь во внедрении этого для вашего конкретного персонажа, вы можете обратиться за профессиональной поддержкой по адресу [email protected].
Важное примечание о моделях липсинка
В этом руководстве рассматриваются пользовательские персонажи, не использующие соглашения об именовании морф-таргетов MetaHuman или ARKit.
Модель Realistic (Higher Quality) работает с персонажами, чьи морф-таргеты соответствуют стандартам именования MetaHuman или ARKit; это настраивается через Morph Target Set Selection. Если ваш персонаж уже использует (или может быть экспортирован/конвертирован для использования) имена блендшейпов по стандарту ARKit, вы можете использовать модель Realistic, не выполняя процедуру ручного сопоставления из этого руководства. См. Преобразование персонажей в блендшейпы ARKit для распространённых персонажей, таких как CC4/CC5 и Daz Genesis.
Если ваш персонаж использует другой набор морф-таргетов (например, Daz Genesis, Reallusion CC3/CC4/CC5, Mixamo или упрощенный кастомный риг), то поддерживаемым вариантом является модель Standard (Faster) — далее следуйте шагам, описанным ниже.
Требуется плагин расширения: Чтобы использовать Standard Model с пользовательскими персонажами, необходимо установить плагин 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
- Система Престона Блэра
- Система фонем 3ds Max
- Пользовательские персонажи (Daz Genesis 8/9, Reallusion CC3/CC4/CC5, Mixamo)
ARKit предоставляет полный набор блендшейпов для лицевой анимации, включая несколько форм рта. Вот как сопоставить их с висемами RuntimeMetaHumanLipSync:
| RuntimeMetaHumanLipSync визема | Аналог ARKit | Заметки |
|---|---|---|
| Sil | mouthClose | Нейтральное/исходное положение |
| PP | mouthPressLeft + mouthPressRight | Для билабиальных звуков используйте обе формы сжатия вместе. |
| FF | lowerLipBiteLeft + lowerLipBiteRight (или mouthRollLower) | Нижняя губа касается верхних зубов, как при звуках «f» и «v». |
| TH | tongueOut | ARKit имеет прямое управление языком. |
| DD | jawOpen (mild) + tongueUp (if you have tongue rig) | Язык касается альвеолярного гребня; лёгкое опускание челюсти. |
| KK | mouthLeft or mouthRight (mild) | Едва заметное оттягивание уголков рта приблизительно воспроизводит велярные звуки. |
| CH | jawOpen (mild) + mouthFunnel (mild) | Комбинируйте для постальвеолярных звуков. |
| SS | mouthFrown | Используйте лёгкое нахмуривание для сибилянтов. |
| NN | jawOpen (very mild) + mouthClose | Почти закрытый рот с лёгким открытием челюсти |
| RR | mouthPucker (mild) | Лёгкое округление для звуков «р» |
| AA | jawOpen + mouthStretchLeft + mouthStretchRight (or jawOpen + mouthOpen) | Широко открытый рот для звука «а». |
| E | jawOpen (mild) + mouthSmile | Среднеоткрытое положение с лёгкой улыбкой |
| IH | mouthSmile (mild) | Легкое растягивание губ |
| OH | mouthFunnel | Открытая скруглённая форма |
| OU | mouthPucker | Плотно округлённые губы |
FACS (Facial Action Coding System) использует Action Units (AUs) для описания движений лица. Многие профессиональные системы анимации используют подходы на основе FACS:
| RuntimeMetaHumanLipSync Viseme | Единицы действия FACS | Заметки |
|---|---|---|
| Sil | Нейтральный | Нет активных AU |
| PP | AU23 + AU24 | Сжатие губ + натяжение губ |
| FF | AU22 + AU28 | Вытягивание губ трубочкой + втягивание губ |
| TH | AU25 (mild) + AU27 | Губы разомкнуты + растяжение рта |
| DD | AU25 + AU16 | Губы разомкнуты + опускание нижней губы |
| KK | AU26 + AU14 | Опускание челюсти + ямочки |
| CH | AU18 + AU25 | Губы трубочкой + губы разомкнуты |
| SS | AU20 | Растягиватель губ |
| NN | AU25 (very mild) | Губы слегка приоткрыты |
| RR | AU18 (mild) | Лёгкое выпячивание губ |
| AA | AU27 + AU26 | Растяжение рта + опускание челюсти |
| E | AU25 + AU12 | Разомкнутые губы + растягивание уголков губ |
| IH | AU12 + AU25 (mild) | Подтягивание уголков губ + лёгкое размыкание губ |
| OH | AU27 (mild) + AU18 | Лёгкое растяжение рта + вытягивание губ |
| OU | AU18 + AU26 (mild) | Выпячивание губ + лёгкое опускание челюсти |
Система Престона Блэра — это классический стандарт анимации, в котором используются описательные названия для форм рта:
| 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/CC5, Mixamo и т.д.), как правило, могут быть сопоставлены с системой визем плагина с разумным приближением.
Создание собственного Pose Asset
Следуйте этим шагам, чтобы создать пользовательский ассет позы для вашего персонажа, который будет использоваться с узлом Blend Runtime MetaHuman Lip Sync:
1. Найдите скелетную сетку вашего персонажа.
Найдите скелетную сетку, содержащую морф-таргеты (блендшейпы), которые вы хотите использовать для анимации синхронизации губ. Это может быть сетка всего тела или просто сетка лица, в зависимости от дизайна вашего персонажа.
2. Проверьте морф-таргеты и кривые
Прежде чем приступить, убедитесь, что ваша скелетная сетка имеет необходимые морф-таргеты и соответствующие кривые для анимации липсинка.
Проверка морф-таргетов: Убедитесь, что ваша скелетная сетка содержит морф-таргеты (блендшейпы), которые можно использовать в качестве визем для анимации синхронизации губ. У большинства персонажей с поддержкой лицевой анимации должны быть морф-таргеты фонем/визем.

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

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

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

- Редактор переключится в
Режим анимациис открытой вкладкойSequencer. - Установите
View Range End Timeравным 0016 (при этомWorking Range Endавтоматически также станет равным 0016). - Перетащите правый край ползунка к правому концу окна секвенсора.
5. Подготовка анимационных кривых
- Вернитесь к ассету Animation Sequence и найдите морф-таргеты в списке
Curves(если они не видны, закройте и снова откройте ассет Animation Sequence) - Удалите все морф-таргеты, которые не связаны с виземами или движениями рта, которые вы хотите использовать для липсинка.
6. Спланируйте сопоставление визем
Создайте план сопоставления визем вашего персонажа с требуемым набором плагина. Например:
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. Анимируйте каждую визему
- Для каждой виземы анимируйте соответствующие кривые морф-таргетов от 0.0 до 1.0
- Начинайте анимацию каждой виземы на отдельном кадре
- Настройте дополнительные кривые по мере необходимости (открытие челюсти/рта, положение языка и т.д.), чтобы создать естественно выглядящие формы визем.
8. Создайте ассет позы
- Перейдите в
Создать ассет->Ассет позы->Текущая анимация - Введите описательное имя для ассета позы и сохраните его в подходящем месте
- Созданный ассет позы откроется автоматически, отображая позы вроде
Pose_0,Pose_1и т. д., каждая из которых соответствует виземе - Просмотрите веса визем, чтобы убедиться, что они работают как ожидается

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

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



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