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