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

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

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

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

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

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

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

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

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

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

2. Проверьте доступные Morph Targets

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

Пример морф-таргетов персонажа

3. Создайте Reference Pose Animation

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

Создание Reference Pose Asset Именование Reference Pose Asset

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

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

4. Редактирование Animation Sequence

  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. Переименуйте каждую позу в соответствии с названиями виземов из раздела Prerequisites
  2. Удалите неиспользуемые позы

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

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

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

Выбор кастомного Pose Asset

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

Для синхронизации губ совместно с другими анимациями тела:

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

Результаты

Примеры кастомных персонажей с данной настройкой:

Пример 1: Синхронизация губ с кастомным персонажем

Пример 2: Синхронизация губ с другой системой визем

Пример 3: Синхронизация губ с другой системой визем

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