メインコンテンツまでスキップ

プラットフォーム固有の設定

このガイドでは、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以降の場合:

  • ソースビルド版とプリコンパイル版の両方のエンジンビルドで動作します
  • 以下の2行を Target.cs ファイルに追加してください:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;

これにより、Unreal Engine は Android と iOS で ANSI アロケーターを使用するよう強制され、ONNX Runtime で使用されるアロケーターと一致します。

Mac / Linux 設定 (UE 5.6+)

NNERuntimeORT プラグインの競合

Unreal Engine 5.6 以降Mac または Linux プラットフォームで使用している場合、プラグインの競合が発生し、リアリスティックモデルが正しく動作しなくなります。

問題点

UE 5.6 以降、エンジンには NNERuntimeORT プラグインが含まれており、これが Mac および Linux プラットフォーム上の Runtime MetaHuman Lip Sync プラグインのリアリスティックモデルと競合します。この競合により、リアリスティックなリップシンク機能が適切に初期化されなくなります。

解決策

この競合を解決するには、プラグインの設定ファイルを変更する必要があります:

  1. Unreal Engine のインストールフォルダに移動します
  2. Engine/Plugins/Marketplace/ に移動します
  3. RuntimeTextToSpeech プラグインフォルダを見つけます
  4. テキストエディタで RuntimeTextToSpeech.uplugin ファイルを開きます
  5. 以下のセクションを完全に削除します:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]

重要な注意事項

  • この変更はMacとLinuxプラットフォームのみに影響します。 Windowsユーザーはこの変更を行う必要はありません。
  • この修正はUE 5.6以降でのみ必要です。 それ以前のエンジンバージョンは影響を受けません。
  • プラグインを更新する場合、この手順を繰り返す必要があるかもしれません。 更新により元の設定ファイルが復元されるためです。