跳至主要内容

平台特定配置

本指南涵蓋了 Runtime MetaHuman Lip Sync 外掛程式的平台特定設定需求與配置。

Android / Meta Quest 配置

如果您的目標平台是 Android 或 Meta Quest,且在使用此外掛程式時遇到建置錯誤,您需要在專案設定中停用 x86_64 (x64) Android 架構:

  1. 前往 Edit > Project Settings
  2. 導覽至 Platforms > Android
  3. Platforms - AndroidBuild 區段中,找到 Support x86_64 [aka x64] 並確保其已停用,如下圖所示

停用 x64 Android 架構

這是因為此外掛程式目前僅支援 Android / Meta Quest 平台的 arm64-v8a 和 armeabi-v7a 架構。

Android 與 iOS 崩潰問題

在某些情況下,Android 和 iOS 平台可能在執行階段發生崩潰(例如在 TestFlight 測試期間)。這是由於底層 ONNX Runtime 函式庫的記憶體配置需求與 Unreal Engine 在這些平台上的預設配置器發生衝突所致。

為了解決此問題,您需要在專案的 Target.cs 檔案中強制使用 ANSI 配置器:

適用於 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 在 Android 和 iOS 上使用 ANSI 分配器,以匹配 ONNX Runtime 所使用的分配器。

Mac / Linux 配置 (UE 5.6+)

NNERuntimeORT 插件衝突

如果您在 Mac 或 Linux 平台上使用 Unreal Engine 5.6 或更新版本,並計劃使用 Realistic Lip Sync Models,您將會遇到一個插件衝突,導致 realistic 模型無法正常運作。

問題說明

從 UE 5.6 開始,引擎包含了 NNERuntimeORT 插件,該插件在 Mac 和 Linux 平台上與 Runtime MetaHuman Lip Sync 插件的 realistic 模型發生衝突。此衝突會阻止 realistic 嘴型同步功能正常初始化。

解決方案

為了解決此衝突,您需要修改插件配置文件:

  1. 導航到您的 Unreal Engine 安裝資料夾
  2. 前往 Engine/Plugins/Marketplace/
  3. 找到 RuntimeMetaHumanLipSync 插件資料夾
  4. 在文字編輯器中開啟 RuntimeMetaHumanLipSync.uplugin 檔案
  5. 完全移除以下區段:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]

重要說明

  • 此修改僅影響 Mac 和 Linux 平台。 Windows 使用者無需進行此變更。
  • 此修正僅適用於 UE 5.6 及更新版本。 較舊的引擎版本不受影響。
  • 您可能需要重複此過程,因為更新外掛程式時,更新會還原原始設定檔。