Перейти к основному содержимому

Как использовать плагин с пользовательскими персонажами

Это руководство проведет вас через процесс настройки Runtime MetaHuman Lip Sync для персонажей, не являющихся MetaHuman. Этот процесс требует знакомства с концепциями анимации и риггинга. Если вам нужна помощь во внедрении этого для вашего конкретного персонажа, вы можете обратиться за профессиональной поддержкой по адресу [email protected].

Важное примечание о моделях синхронизации губ

Совместимость с пользовательскими персонажами

Пользовательские персонажи поддерживаются только в стандартной (более быстрой) модели.

Модель Realistic (Higher Quality) предназначена для персонажей MetaHuman и ARKit и не может использоваться с другими пользовательскими персонажами. На протяжении этого руководства при ссылках следуйте инструкциям для 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 плагина будет работать эффективно, поскольку это близкие постувулярные звуки.

Справочная таблица соответствия визем

Вот соответствия между распространенными системами визем и виземами, необходимыми для плагина:

ARKit предоставляет полный набор блендшейпов для анимации лица, включая несколько форм рта. Вот как сопоставить их с виземами RuntimeMetaHumanLipSync:

RuntimeMetaHumanLipSync VisemeЭквивалент ARKitЗаметки
SilmouthCloseНейтральное/исходное положение
PPmouthPressLeft + mouthPressRightДля билабиальных звуков используйте обе формы сжатия вместе.
FFlowerLipBiteLeft + lowerLipBiteRight (или mouthRollLower)Нижняя губа касается верхних зубов, как при произнесении звуков «ф» и «в».
THtongueOutARKit имеет прямое управление языком.
DDjawOpen (mild) + tongueUp (if you have tongue rig)Язык касается альвеолярного гребня; небольшое опускание челюсти
KKmouthLeft or mouthRight (mild)Легкое подтягивание уголка рта аппроксимирует велярные звуки
CHjawOpen (mild) + mouthFunnel (mild)Комбинируйте для постальвеолярных звуков
SSmouthFrownИспользуйте легкое нахмуривание для сибилянтов.
NNjawOpen (very mild) + mouthCloseПочти закрытый рот с легким открытием челюсти
RRmouthPucker (mild)Легкое округление для звуков "р"
AAjawOpen + mouthStretchLeft + mouthStretchRight (или jawOpen + mouthOpen)Широко открытый рот для звука "а"
EjawOpen (mild) + mouthSmileСреднеоткрытое положение с легкой улыбкой
IHmouthSmile (mild)Небольшое растягивание губ
OHmouthFunnelОкруглая открытая форма
OUmouthPuckerПлотно округленные губы

Создание пользовательского ассета позы

Выполните следующие шаги, чтобы создать собственный ассет позы для вашего персонажа, который будет использоваться с нодой Blend Runtime MetaHuman Lip Sync:

1. Найдите Skeletal Mesh вашего персонажа

Найдите скелетную сетку, содержащую целевые морфы (формы смешивания), которые вы хотите использовать для анимации синхронизации губ. Это может быть сетка всего тела или только сетка лица, в зависимости от дизайна вашего персонажа.

2. Проверьте морф-цели и кривые

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

Проверка морф-таргетов: Убедитесь, что ваша скелетная сетка содержит морф-таргеты (бленд-шейпы), которые можно использовать в качестве визем для анимации синхронизации губ. Большинство персонажей с поддержкой лицевой анимации должны иметь несколько морф-таргетов для фонем/визем.

Example of morph targets in a character

Важно: Проверьте вкладку «Кривые» Этот шаг особенно важен для персонажей, экспортированных из Blender или другого стороннего программного обеспечения:

  1. Откройте вкладку Кривые в редакторе скелетного меша
  2. Проверьте, видны ли кривые, соответствующие вашим морф-таргетам
  3. Если вкладка «Кривые» пуста, но морф-таргеты существуют, вручную добавьте новые кривые, используя точно такие же имена, как у ваших морф-таргетов

Примечание: Эта проблема часто возникает при экспорте из Blender, когда морф-таргеты импортируются успешно, но анимационные кривые не создаются автоматически. Без соответствующих кривых анимация не будет корректно заполняться после запекания в Control Rig.

Альтернативное решение: Чтобы предотвратить эту проблему при экспорте из Blender, попробуйте включить Custom Properties и Animation в настройках экспорта FBX — это может помочь включить анимационные кривые вместе с morph targets.

3. Создайте анимацию референсной позы

  1. Перейдите в Create Asset -> Create Animation -> Reference Pose
  2. Введите описательное имя для анимационной последовательности и сохраните её в подходящем месте
  3. Созданная анимационная последовательность откроется автоматически, показывая пустую анимацию, воспроизводящуюся в цикле

Creating a reference pose asset Naming the reference pose asset

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

Pausing animation playback

4. Редактировать анимационную последовательность

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

Editing with FK Control Rig Baking to Control Rig

  1. Редактор переключится в Animation Mode с открытой вкладкой Sequencer
  2. Установите View Range End Time на 0016 (это автоматически установит Working Range End также на 0016)
  3. Перетащите правый край ползунка к правому концу окна секвенсора

5. Подготовьте анимационные кривые

  1. Вернитесь к ассету «Animation Sequence» и найдите морф-таргеты в списке Curves (если они не отображаются, закройте и снова откройте ассет «Animation Sequence»)
  2. Удалите все морф-таргеты, не связанные с виземами или движениями рта, которые вы хотите использовать для синхронизации губ.

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. Анимируйте каждую визему

  1. Для каждого виземы анимируйте соответствующие кривые целевых морфов от 0.0 до 1.0
  2. Начинайте анимацию каждой виземы на разных кадрах
  3. Настройте дополнительные кривые по мере необходимости (открытие челюсти/рта, положение языка и т.д.), чтобы создать естественные формы визем

8. Создайте ассет позы

  1. Перейдите в Create Asset -> Pose Asset -> Current Animation
  2. Введите описательное имя для ассета поз и сохраните его в подходящем месте
  3. Созданный ассет поз откроется автоматически, отображая позы, такие как Pose_0, Pose_1 и т. д., каждая из которых соответствует визему
  4. Просмотрите веса визем, чтобы убедиться, что они работают как ожидается

Creating a pose asset Naming the pose asset Pose asset with visemes

9. Завершите ассет позы

  1. Переименуйте каждую позу в соответствии с названиями визем из раздела Предварительные требования
  2. Удалите все неиспользуемые позы

Настройка обработки и смешивания аудио

Как только ваш ассет позы будет готов, необходимо настроить узлы обработки аудио и смешивания:

  1. Найдите или создайте Animation Blueprint вашего персонажа
  2. Настройте обработку аудио и смешивание, следуя тем же шагам, что описаны в стандартном руководстве по настройке плагина
  3. В узле Blend Runtime MetaHuman Lip Sync выберите свой собственный Pose Asset вместо стандартного ассета поз MetaHuman

Selecting the custom pose asset

Комбинирование с анимациями тела

Если вы хотите выполнять синхронизацию губ вместе с другими анимациями тела:

  1. Выполните те же шаги, что описаны в стандартном руководстве по плагину
  2. Убедитесь, что вы указали правильные названия костей для скелета шеи вашего персонажа, а не используете названия костей MetaHuman

Результаты

Вот примеры пользовательских персонажей, использующих эту настройку:

Example 1: Lip sync with custom character

Example 2: Lip sync with different viseme system

Example 3: Lip sync with different viseme system

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