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

Платформенно-специфичная конфигурация

Это руководство охватывает требования к настройке и конфигурации для конкретных платформ плагина Runtime MetaHuman Lip Sync.

Конфигурация Android / Meta Quest

Если вы ориентируетесь на платформы Android или Meta Quest и сталкиваетесь с ошибками сборки при использовании этого плагина, вам потребуется отключить архитектуру x86_64 (x64) для Android в настройках вашего проекта.

  1. Перейдите в Edit > Project Settings
  2. Перейдите в Platforms > Android
  3. В разделе Platforms - Android, в подразделе Build, найдите Support x86_64 [aka x64] и убедитесь, что он отключен, как показано ниже

Disable x64 Android Architecture

Это связано с тем, что в настоящее время плагин поддерживает только архитектуры arm64-v8a и armeabi-v7a для платформ Android / Meta Quest.

Сбои на Android и iOS

В некоторых случаях на Android и iOS могут возникать сбои во время выполнения (например, при тестировании через TestFlight). Это вызвано конфликтом требований к выделению памяти базовой библиотеки ONNX Runtime с распределителями памяти по умолчанию в Unreal Engine на этих платформах.

Чтобы решить эту проблему, необходимо принудительно задать ANSI-аллокатор в файле Target.cs вашего проекта:

Для Unreal Engine 5.5 и более ранних версий:

  • Ваш проект должен использовать движок, собранный из исходного кода (не предварительно скомпилированный бинарный файл)
  • Добавьте следующую строку в ваш файл Target.cs:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");

Для Unreal Engine 5.6 и более поздних версий:

  • Работает как с собранной из исходников, так и с предварительно скомпилированной сборкой движка
  • Добавьте следующие две строки в ваш файл Target.cs:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;

Это заставляет Unreal Engine использовать ANSI-аллокатор на Android и iOS, что соответствует аллокатору, используемому ONNX Runtime.

Конфигурация для Mac / Linux (UE 5.6+)

Конфликт плагина NNERuntimeORT

Если вы используете Unreal Engine 5.6 или новее на платформах Mac или Linux и планируете применять реалистичные модели синхронизации губ, вы столкнетесь с конфликтом плагинов, который препятствует корректной работе этих моделей.

Проблема

Начиная с UE 5.6, движок включает плагин NNERuntimeORT, который конфликтует с реалистичными моделями плагина Runtime MetaHuman Lip Sync на платформах Mac и Linux. Этот конфликт препятствует правильной инициализации функции реалистичной синхронизации губ.

Решение

Чтобы разрешить этот конфликт, вам необходимо изменить файл конфигурации плагина:

  1. Перейдите в папку установки Unreal Engine
  2. Перейдите в Engine/Plugins/Marketplace/
  3. Найдите папку плагина RuntimeMetaHumanLipSync
  4. Откройте файл RuntimeMetaHumanLipSync.uplugin в текстовом редакторе
  5. Полностью удалите следующий раздел:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]

Важные замечания

  • Это изменение затрагивает только платформы Mac и Linux. Пользователям Windows вносить это изменение не нужно.
  • Это исправление требуется только для UE 5.6 и более поздних версий. Более ранние версии движка не затронуты.
  • Возможно, вам придется повторить этот процесс, если вы обновите плагин, так как обновления восстановят исходный файл конфигурации.