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

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

このガイドでは、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");

Unreal Engine 5.6以降の場合:

  • ソースビルド版とプリコンパイル版の両方のエンジンビルドで動作します
  • 以下の行を Target.cs ファイルに追加してください:
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. RuntimeMetaHumanLipSyncプラグインフォルダを探します
  4. テキストエディタでRuntimeMetaHumanLipSync.upluginファイルを開きます
  5. 以下のセクションを完全に削除します:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]

重要な注意事項

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