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

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

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

Важное замечание о моделях lip sync

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

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

Реалистичная (Более высокого качества) модель разработана исключительно для персонажей MetaHuman и не может использоваться с пользовательскими персонажами. На протяжении этого руководства вы должны следовать инструкциям для Стандартной модели из основного руководства по настройке, когда на них ссылаются.

Требуется Дополнительный Плагин: Чтобы использовать Стандартную Модель с пользовательскими персонажами, вы должны установить дополнительный плагин Standard Lip Sync Extension, как описано в разделе Предварительные требования основного руководства по настройке.

Это расширение обязательно для всех реализаций пользовательских персонажей, описанных в этом руководстве.

Предварительные требования

Прежде чем начать, убедитесь, что ваш персонаж соответствует этим требованиям:

  • Имеет валидный скелет
  • Содержит морф-таргеты (blend shapes) для мимики
  • В идеале имеет 10+ морф-таргетов, определяющих виземы (больше визем = лучше качество lip sync)

Плагин требует сопоставления морф-таргетов вашего персонажа со следующими стандартными виземами:

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Эквивалент ARKitПримечания
SilmouthCloseНейтральное/покоящееся положение
PPmouthPressLeft + mouthPressRightДля билабиальных звуков используйте оба пресс-шейпа вместе
FFlowerLipBiteLeft + lowerLipBiteRight (или mouthRollLower)Нижняя губа касается верхних зубов, как в звуках "f" и "v"
THtongueOutARKit имеет прямой контроль над языком
DDjawOpen (слабый) + tongueUp (если есть риг языка)Язык касается альвеолярного гребня; небольшое опускание челюсти
KKmouthLeft или mouthRight (слабый)Легкое подтягивание уголков рта аппроксимирует велярные звуки
CHjawOpen (слабый) + mouthFunnel (слабый)Комбинация для постальвеолярных звуков
SSmouthFrownИспользуйте легкое опускание уголков губ для сибилянтов
NNjawOpen (очень слабый) + mouthCloseПочти закрытый рот с небольшим открытием челюсти
RRmouthPucker (слабый)Легкое округление для звуков "r"
AAjawOpen + mouthStretchLeft + mouthStretchRight (или jawOpen + mouthOpen)Широко открытый рот для звука "ah"
EjawOpen (слабый) + mouthSmileСредне-открытая позиция с легкой улыбкой
IHmouthSmile (слабый)Легкое растягивание губ
OHmouthFunnelОкруглая открытая форма
OUmouthPuckerПлотно округленные губы

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

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

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

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

2. Проверьте Morph Targets и Curves

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

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

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

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

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

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

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

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

Создание ассета референсной позы Название ассета референсной позы

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

Приостановка воспроизведения анимации

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

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

Редактирование с FK Control Rig Выпекание в 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. Удалите все морф-таргеты, которые не относятся к висемам или движениям рта, которые вы хотите использовать для Lip Sync

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. Создание Pose Asset

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

Создание Pose Asset Название Pose Asset Pose Asset с виземами

9. Завершение работы с Pose Asset

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

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

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

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

Выбор пользовательского Pose Asset

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

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

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

Результаты

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

Пример 1: Lip sync с пользовательским персонажем

Пример 2: Lip sync с другой системой визем

Пример 3: Lip sync с другой системой визем

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