跳到主要内容

平台特定配置

本指南涵盖了 Runtime Text To Speech 插件的平台特定设置要求和配置。

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 或更高版本,将会遇到一个插件冲突,导致逼真模型无法正常工作。

问题描述

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

解决方案

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

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

重要说明

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