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

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

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

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

重要な注意事項

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