Zum Hauptinhalt springen

Plattformspezifische Konfiguration

Dieser Leitfaden behandelt plattformspezifische Einrichtungsanforderungen und Konfigurationen für das Runtime MetaHuman Lip Sync Plugin.

Android / Meta Quest Konfiguration

Wenn Sie auf Android- oder Meta Quest-Plattformen abzielen und bei diesem Plugin auf Build-Fehler stoßen, müssen Sie die x86_64 (x64) Android-Architektur in Ihren Projekteinstellungen deaktivieren:

  1. Gehe zu Bearbeiten > Projekteinstellungen
  2. Navigiere zu Plattformen > Android
  3. Unter Plattformen - Android, im Abschnitt Build, finde Support x86_64 [auch bekannt als x64] und stelle sicher, dass es deaktiviert ist, wie unten gezeigt

Disable x64 Android Architecture

Dies liegt daran, dass das Plugin derzeit nur die Architekturen arm64-v8a und armeabi-v7a für Android / Meta Quest Plattformen unterstützt.

Android- und iOS-Abstürze

In einigen Fällen auf Android und iOS kann es während der Laufzeit zu Abstürzen kommen (z. B. während TestFlight-Tests). Dies wird dadurch verursacht, dass die Speicherzuweisungsanforderungen der zugrunde liegenden ONNX Runtime-Bibliothek mit den Standard-Allokatoren von Unreal Engine auf diesen Plattformen in Konflikt geraten.

Um dies zu beheben, müssen Sie den ANSI-Allokator in der Target.cs-Datei Ihres Projekts erzwingen:

Für Unreal Engine 5.5 und früher:

  • Ihr Projekt muss eine aus dem Quellcode erstellte Engine verwenden (keine vorkompilierte Binärdatei)
  • Fügen Sie die folgende Zeile zu Ihrer Target.cs-Datei hinzu:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");

Für Unreal Engine 5.6 und höher:

  • Funktioniert sowohl mit quellbasierten als auch mit vorkompilierten Engine-Builds
  • Fügen Sie die folgenden zwei Zeilen zu Ihrer Target.cs-Datei hinzu:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;

Dies zwingt Unreal Engine, den ANSI-Allokator auf Android und iOS zu verwenden, der mit dem von ONNX Runtime verwendeten Allokator übereinstimmt.

Mac / Linux Konfiguration (UE 5.6+)

NNERuntimeORT Plugin-Konflikt

Wenn Sie Unreal Engine 5.6 oder neuer auf Mac- oder Linux-Plattformen verwenden und die Realistischen Lippen-Synchronisationsmodelle nutzen möchten, werden Sie auf einen Plugin-Konflikt stoßen, der die korrekte Funktion der realistischen Modelle verhindert.

Das Problem

Ab UE 5.6 enthält die Engine das NNERuntimeORT-Plugin, das auf Mac- und Linux-Plattformen mit den realistischen Modellen des Runtime MetaHuman Lip Sync-Plugins in Konflikt steht. Dieser Konflikt verhindert, dass die realistische Lippen-Synchronisationsfunktion ordnungsgemäß initialisiert wird.

Lösung

Um diesen Konflikt zu lösen, müssen Sie die Plugin-Konfigurationsdatei ändern:

  1. Navigieren Sie zu Ihrem Unreal Engine-Installationsordner
  2. Gehen Sie zu Engine/Plugins/Marketplace/
  3. Finden Sie den Plugin-Ordner RuntimeMetaHumanLipSync
  4. Öffnen Sie die Datei RuntimeMetaHumanLipSync.uplugin in einem Texteditor
  5. Entfernen Sie den folgenden Abschnitt vollständig:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]

Wichtige Hinweise

  • Diese Änderung betrifft nur Mac- und Linux-Plattformen. Windows-Benutzer müssen diese Anpassung nicht vornehmen.
  • Diese Korrektur ist nur für UE 5.6 und höher erforderlich. Frühere Engine-Versionen sind nicht betroffen.
  • Möglicherweise müssen Sie diesen Vorgang wiederholen, wenn Sie das Plugin aktualisieren, da Updates die ursprüngliche Konfigurationsdatei wiederherstellen.