平台特定配置
本指南涵盖了 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 平台上的逼真模型存在冲突。此冲突导致逼真的唇形同步功能无法正确初始化。
解决方案
要解决此冲突,您需要修改插件配置文件:
- 导航到您的 Unreal Engine 安装文件夹
- 转到
Engine/Plugins/Marketplace/ - 找到
RuntimeTextToSpeech插件文件夹 - 在文本编辑器中打开
RuntimeTextToSpeech.uplugin文件 - 完全删除以下部分:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]
重要说明
- 此修改仅影响 Mac 和 Linux 平台。 Windows 用户无需进行此更改。
- 此修复仅适用于 UE 5.6 及更高版本。 更早的引擎版本不受影响。
- 您可能需要重复此过程,如果您更新了插件,因为更新会恢复原始的配置文件。