Przejdź do głównej zawartości

Konfiguracja specyficzna dla platformy

Ten przewodnik obejmuje wymagania konfiguracyjne specyficzne dla platformy oraz ustawienia dla wtyczki Runtime MetaHuman Lip Sync.

Konfiguracja Android / Meta Quest

Jeśli kierujesz na platformy Android lub Meta Quest i napotkasz błędy kompilacji z tą wtyczką, będziesz musiał wyłączyć architekturę Android x86_64 (x64) w ustawieniach projektu:

  1. Przejdź do Edycja > Ustawienia projektu
  2. Przejdź do Platformy > Android
  3. W sekcji Platformy - Android, Kompilacja, znajdź Obsługa x86_64 [znane jako x64] i upewnij się, że jest wyłączona, jak pokazano poniżej

Wyłącz architekturę Android x64

Dzieje się tak, ponieważ wtyczka obecnie obsługuje tylko architektury arm64-v8a i armeabi-v7a dla platform Android / Meta Quest.

Awarie na Androidzie i iOS

W niektórych przypadkach na Androidzie i iOS mogą występować awarie podczas działania (takie jak podczas testowania TestFlight). Jest to spowodowane konfliktem wymagań dotyczących alokacji pamięci przez podstawową bibliotekę ONNX Runtime z domyślnymi alokatorami Unreal Engine na tych platformach.

Aby rozwiązać ten problem, musisz wymusić użycie alokatora ANSI w pliku Target.cs twojego projektu:

Dla Unreal Engine 5.5 i wcześniejszych:

  • Twój projekt musi używać silnika zbudowanego ze źródeł (nie prekompilowanego pliku binarnego)
  • Dodaj następującą linię do pliku Target.cs:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");

Dla Unreal Engine 5.6 i nowszych:

  • Działa zarówno z kompilowanymi ze źródeł, jak i z prekompilowanymi wersjami silnika
  • Dodaj następującą linię do pliku Target.cs:
StaticAllocator = StaticAllocatorType.Ansi;

To zmusza Unreal Engine do używania alokatora ANSI na Androidzie i iOS, dopasowując alokator używany przez ONNX Runtime.

Konfiguracja Mac / Linux (UE 5.6+)

Konflikt wtyczki NNERuntimeORT

Jeśli używasz Unreal Engine 5.6 lub nowszego na platformach Mac lub Linux i planujesz używać Realistycznych Modeli Synchronizacji Ust, napotkasz konflikt wtyczek, który uniemożliwia poprawne działanie realistycznych modeli.

Problem

Począwszy od UE 5.6, silnik zawiera wtyczkę NNERuntimeORT, która koliduje z realistycznymi modelami wtyczki Runtime MetaHuman Lip Sync na platformach Mac i Linux. Ten konflikt uniemożliwia prawidłową inicjalizację funkcjonalności realistycznej synchronizacji ust.

Rozwiązanie

Aby rozwiązać ten konflikt, musisz zmodyfikować plik konfiguracyjny wtyczki:

  1. Przejdź do folderu instalacyjnego Unreal Engine
  2. Przejdź do Engine/Plugins/Marketplace/
  3. Znajdź folder wtyczki RuntimeMetaHumanLipSync
  4. Otwórz plik RuntimeMetaHumanLipSync.uplugin w edytorze tekstu
  5. Usuń całkowicie następującą sekcję:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]

Ważne uwagi

  • Ta modyfikacja dotyczy tylko platform Mac i Linux. Użytkownicy systemu Windows nie muszą wprowadzać tej zmiany.
  • Ta poprawka jest wymagana tylko dla UE 5.6 i nowszych. Wcześniejsze wersje silnika nie są dotknięte tym problemem.
  • Może być konieczne powtórzenie tego procesu w przypadku aktualizacji wtyczki, ponieważ aktualizacje przywrócą oryginalny plik konfiguracyjny.