Использование плагина с пользовательскими персонажами
Это руководство проведет вас через процесс настройки 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
плагина будет работать эффективно, так как они представляют собой близкородственные постальвеолярные звуки.
Справочник по сопоставлению визем
Вот сопоставления между распространенными системами визем и требуемыми виземами плагина:
- 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 (Система Кодирования Лицевой Активности) использует Единицы Действия (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 Viseme | 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 Viseme | 3ds Max Phoneme | Примечания |
---|---|---|
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 вашего персонажа
Найдите скелетный меш, который содержит морф-таргеты (блендшейпы), которые вы хотите использовать для анимации синхронизации губ. Это может быть меш всего тела или только лица, в зависимости от дизайна вашего персонажа.
2. Проверьте Morph Targets и Curves
Прежде чем продолжить, убедитесь, что ваш скелетный меш имеет подходящие морф-таргеты и соответствующие кривые для анимации синхронизации губ.
Проверьте Morph Targets:
Убедитесь, что ваш скелетный меш содержит морф-таргеты (блендшейпы), которые можно использовать в качестве висем для анимации синхронизации губ. Большинство персонажей с поддержкой лицевой анимации должны иметь некоторые фонемные/висемные морф-таргеты.
Важно: Проверьте вкладку Curves Этот шаг особенно важен для персонажей, экспортированных из Blender или другого внешнего программного обеспечения:
- Откройте вкладку Curves в редакторе Skeletal Mesh
- Проверьте, видите ли вы кривые, соответствующие вашим морф-таргетам
- Если вкладка Curves пуста, но морф-таргеты существуют, вручную добавьте новые кривые, используя точно такие же имена, как у ваших морф-таргетов
Примечание: Эта проблема часто возникает с экспортами из Blender, где морф-таргеты импортируются успешно, но кривые анимации не создаются автоматически. Без соответствующих кривых анимация не будет правильно заполняться после выпекания в Control Rig.
Альтернативное решение: Чтобы предотвратить эту проблему при экспорте из Blender, попробуйте включить Custom Properties и Animation в настройках экспорта FBX, что может помочь включить кривые анимации вместе с морф-таргетами.
3. Создайте анимацию референсной позы
- Перейдите в
Create Asset -> Create Animation -> Reference Pose
- Введите описательное имя для последовательности анимации и сохраните её в подходящем месте
- Созданная Animation Sequence откроется автоматически, показывая пустую анимацию, воспроизводящуюся в цикле
- Нажмите кнопку
Pause
, чтобы остановить воспроизведение анимации для более удобного редактирования
4. Редактируйте последовательность анимации
- Нажмите на
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. Подготовка Кривых Анимации
- Вернитесь к ассету Animation Sequence и найдите морф-таргеты в списке
Curves
(если они не видны, закройте и снова откройте ассет Animation Sequence) - Удалите все морф-таргеты, которые не относятся к висемам или движениям рта, которые вы хотите использовать для 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. Анимируйте каждую визему
- Для каждой виземы анимируйте соответствующие кривые морф-таргетов от 0.0 до 1.0
- Начинайте анимацию каждой виземы на отдельном кадре
- Настройте дополнительные кривые по мере необходимости (открытие челюсти/рта, положение языка и т.д.) для создания естественно выглядящих форм визем
8. Создание Pose Asset
- Перейдите в
Create Asset
->Pose Asset
->Current Animation
- Введите описательное имя для Pose Asset и сохраните его в подходящем месте
- Созданный Pose Asset откроется автоматически, показывая позы, такие как
Pose_0
,Pose_1
и т.д., каждая из которых соответствует визему - Просмотрите веса виземов, чтобы убедиться, что они работают как ожидалось
9. Завершение работы с Pose Asset
- Переименуйте каждую позу в соответствии с названиями виземов из раздела Предварительные требования
- Удалите все неиспользуемые позы
Настройка обработки аудио и смешивания
Когда ваш Pose Asset готов, вам необходимо настроить узлы обработки аудио и смешивания:
- Найдите или создайте Animation Blueprint вашего персонажа
- Настройте обработку аудио и смешивание, следуя тем же шагам, что описаны в стандартном руководстве по настройке плагина
- В узле
Blend Runtime MetaHuman Lip Sync
выберите ваш пользовательский Pose Asset вместо Pose Asset MetaHuman по умолчанию
Комбинирование с анимациями тела
Если вы хотите выполнять Lip Sync вместе с другими анимациями тела:
- Следуйте тем же шагам, что описаны в стандартном руководстве по плагину
- Убедитесь, что вы указали правильные имена костей для скелета шеи вашего персонажа, вместо использования имен костей MetaHuman
Результаты
Вот примеры пользовательских персонажей, использующих эту настройку:
Качество Lip Sync в значительной степени зависит от конкретного персонажа и того, насколько хорошо настроены его виземы. Приведенные выше примеры демонстрируют работу плагина с различными типами пользовательских персонажей с разными системами визем.