UE5でMetaHumanの表情をLiveLinkFaceで動かす

2022/07/14追記
Matahumanのフェイシャルがなんか変な場合以下の記事を参考にしてください。

Metahumanのフェイシャルがなんか変になっている
2022/07/22 追記Metahuman1.1.0で以下のエラーは修正されたようです。自分の環境で試したところ正しくフェイシャルアニメーションがされました。良かったですね。 問題 2022/07/13に確認したのですが、Metahuma...

UE5でこんな感じにMetahumanの表情を動かします。

環境

  • UnrealEngine5.0.0 Preview 2
  • iPhone12 mini (システムバージョン 15.1.1)
  • Live Link Face v1.1.2

プロジェクト準備

UE5を起動してプロジェクトを作成します。
GAMES > Blankを選択して、プロジェクトの保存先を選びStarterContentを有効にしてプロジェクトを作成します。

iPhoneから表情データを受け取るために3つのプラグインを有効にします。
Settings > PluginsをクリックしてPluginウィンドウを開きます。

必要なプラグインの

  • Live Link (Version 2.0)
  • Apple ARKit (Version 0.1)
  • Apple ARKit Face Support (Version 0.1)

の3つにチェックを入れてプラグインを読み込ませるためにプロジェクトを再起動します。
ウィンドウの下に”RestartNow”ボタンが表示されるのでプロジェクトを再起動してください。

MetaHumanインポート

メニューバーからWindow > Quixel Bridgeでウィンドウが表示されるので、右上の人型アイコンをクリックしてログインをする。

ログインしたらMetaHumansから試したいモデルを、右下のDownloadボタンをクリックしてダウンロードする。

ダウンロードが完了したらDownloadボタンの右側にあるAddボタンをクリックしてプロジェクトにインポートします。

インポートが完了するとMetahumanに必要な設定を有効にするか聞かれるので、Enable Missingをクリックしてください。

有効にした設定を動かすためにプロジェクトを再起動します。
右下にRestart Nowボタンが表示されるのでクリックしてください。

再起動するとシェーダーのコンパイルが走っているのでしばらく待ちます。

Live Link Face準備

Epicが公式で配布しているフェイシャルキャプチャ用のiOSアプリがあるのでお手持ちのiPhoneにダウンロードしてください。

‎Live Link Face
‎Unreal Engine でのフェイシャル アニメーションの作成を支援する Live Link Face アプリ — MetaHuman Animator のパフォーマンスをキャプチャして、結果を最高レベルの忠実度に引き上げたり、ライブ...

ダウンロードが完了したらアプリを起動してPCのローカルipアドレスを設定します。
以下の画像の通りにタップしてポート番号は変えずにPCのローカルipアドレスを記入してください。
※iPhoneとPCは同じLANに接続されてる必要があります。

WindowsPCのローカルIPアドレスを調べる方法
デスクトップでWindowsキー + Rキーを同時押しして”cmd”を入力してコマンドプロンプトを起動します。 コマンドプロンプトを起動したら”ipconfig”を入力してEnterキーを押します。IPv4アドレスの行に表示されてるのがロー...

UEエディタに戻り、Window > Virtual Production > Live Linkを選択してLiveLinkウィンドウを表示します。

LiveLinkFaceに顔を映しているとLiveLinkウィンドウにiPhoneの名前が表示されて表情データを受信できているのが確認できます。

  • 3つのプラグインが有効になっているか確認
    • LiveLink
    • Apple ARKit
    • Apple ARKit Face Support
  • iPhoneとPCが同じLANに接続されているか確認
  • セキュリティソフトのファイアーウォールが有効になっている
    • 自分は無効にしたら表示されるようになりました。

Metahumanの表情を動かす

現在開いているレベルにMetahumanをドラッグ&ドロップしてください。
(Content > Metahuman > “Metahumanのキャラ名” > BP_xxx)

ドラッグ&ドロップしたらOutlinerタブの”BP_xxx”を選択して、DetailタブのDefaultの”LLink Face Subj”をiPhoneの名前に設定します。
(LLink Face Headは頭の回転を反映させるかのチェック)

これで準備ができたので、実行するとMetahumanの表情が動きます。

表情が動かない場合

自分が最初試したときに表情が動かず、頭の回転と顔のしわしか動かない問題がありました。
Content > MetaHumans > Common > Common > Mocap > mh_arkit_mapping_poseを開いて、適当な表情を動かしてもびくともしませんでした。

原因が気になるので調べてますが、
その場しのぎの解決方法としてMetahumanをダウンロードしなおしたら直りました。

  • C:\Users\<ユーザー名>\Documents\Megascans Library\Downloaded\UAssetsの中身を全削除
  • BridgeでMetahumanをダウンロード