跳到主要内容

平台特定配置

本指南涵盖了 Runtime MetaHuman Lip Sync 插件的平台特定设置要求和配置。

Android / Meta Quest 配置

如果您正在针对 Android 或 Meta Quest 平台,并且在使用此插件时遇到构建错误,您需要在项目设置中禁用 x86_64 (x64) Android 架构:

  1. 转到 编辑 > 项目设置
  2. 导航至 平台 > Android
  3. 平台 - Android 下的 构建 部分,找到 支持 x86_64 [又名 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");

对于虚幻引擎 5.6 及更高版本:

  • 适用于源码构建和预编译引擎版本
  • 将以下行添加到您的 Target.cs 文件中:
StaticAllocator = StaticAllocatorType.Ansi;

这将强制 Unreal Engine 在 Android 和 iOS 上使用 ANSI 分配器,以匹配 ONNX Runtime 使用的分配器。

Mac / Linux 配置 (UE 5.6+)

NNERuntimeORT 插件冲突

如果您在 Mac 或 Linux 平台上使用 Unreal Engine 5.6 或更高版本,并计划使用 逼真口型同步模型,您会遇到一个插件冲突,该冲突会阻止逼真模型正常工作。

问题描述

从 UE 5.6 开始,引擎包含了 NNERuntimeORT 插件,该插件在 Mac 和 Linux 平台上与 Runtime MetaHuman Lip Sync 插件的逼真模型发生冲突。此冲突导致逼真的口型同步功能无法正确初始化。

解决方案

要解决此冲突,您需要修改插件配置文件:

  1. 导航到您的 Unreal Engine 安装文件夹
  2. 进入 Engine/Plugins/Marketplace/
  3. 找到 RuntimeMetaHumanLipSync 插件文件夹
  4. 在文本编辑器中打开 RuntimeMetaHumanLipSync.uplugin 文件
  5. 完全删除以下部分:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]

重要说明

  • 此修改仅影响 Mac 和 Linux 平台。 Windows 用户无需进行此更改。
  • 此修复仅适用于 UE 5.6 及更高版本。 较早的引擎版本不受影响。
  • 您可能需要重复此过程 如果您更新了插件,因为更新将恢复原始配置文件。