跳至主要内容

平台特定設定

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

Android / Meta Quest 設定

若您以 Android 或 Meta Quest 平台為目標,並在使用此插件時遇到建置錯誤,則需在專案設定中停用 x86_64 (x64) Android 架構。

  1. 前往 編輯 > 專案設定
  2. 導航至 平台 > Android
  3. 平台 - Android 下的 建置 區段中,找到 支援 x86_64 [即 x64] 並確保其已停用,如下所示

Disable x64 Android Architecture

這是因為該外掛目前僅支援 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 插件衝突

若您在 MacLinux 平台上使用 Unreal Engine 5.6 或更新版本,並計畫採用 逼真嘴型同步模型,將會遇到外掛程式衝突,導致逼真模型無法正常運作。

問題

從 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 及更新版本。 較舊的引擎版本不受影響。
  • 若您更新插件,可能需要重複此流程,因為更新會還原原始設定檔。