ISID テックブログ

ISIDが運営する技術ブログ

バーチャルヒューマンをリアルタイムフェイスリグで動かす(Unreal Engine x iPhone ARKit)

こんにちは!電通国際情報サービス 金融ソリューション事業部の山下です。 今回は、ゲームエンジンUnreal Engineと、iOSアプリのLiveLinkFaceを用いたデジタルヒューマンのリアルタイムフェイスリグを行う手順を紹介します。

手順

  1. MetaHuman Creatorでデジタルヒューマンを作成する
  2. デジタルヒューマンをUnreal Projectにエクスポートする
  3. LiveLinkFaceアプリでデジタルヒューマンを動かす

実行環境

  • PC:
  • Mobile:
    • iPhone X (ARKitとdepthAPIがサポートされているFaceID搭載機種が必要になります)
    • iOS 15.2.1
    • LiveLinkFace 1.1.2
  • Network:
    • PCとMobileが同じネットワークに接続していること(同一Wifi環境 or Lightning Ethernetなど)

手順1. デジタルヒューマンの作成

まず、MetaHuman Creatorでデジタルヒューマンを作成します。

MetaHuman Creatorは、Epic Gamesが提供する高精細なデジタルヒューマンを誰でも簡単に作成できるクラウドサービスです。 プリセットされたデジタルヒューマンをベースにした顔や髪型などのモデリングが可能ですが、本記事における詳細な操作説明は割愛します。

今回は、以下のデジタルヒューマンを作成しました。

手順2. デジタルヒューマンをUnreal Projectにエクスポートする

Unreal Engineにて、Blankプロジェクトを作成してプロジェクトを立ち上げます。 以下のプラグインをインストールしましょう。 - 「Edit」->「Plugins」 - Apple ARKit - Apple ARKit Face Support - Live Link

次に、Quixel Bridgeアプリを立ち上げます。(UE5の場合はQuixel BridgeがUnreal Engine自体に組み込まれていますが、UE4では別途インストールが必要となります)

MetaHuman Creatorで利用したものと同じEpicGamesアカウントを用いてログインすると、先ほど作成したデジタルヒューマンを確認できます。

エクスポートを行う為に、以下の設定を行います。 - 「Settings」->「Download Settings」->「Modelsタブ」 - 項目「MetaHumans」 :「UAsset + Source Asset」 - 「Download」実行(完了まで数十分かかります) - Settings」->「Export Settings」->「Export Target」 - 項目「ExportTarget」 :「Unreal Engine」 - 項目「Engine Version」:自身のUnreal Engineバージョン - 項目「Plugin Location」:自身のUnreal Engine Pluginディレクトリパス - 「Export」実行 - 初めて実行する場合はUnreal Engine側で不足しているプラグインのWarningが表示されますが、全て有効(Enable Missing)を選択して必要プラグインをインストールして下さい

Exportが完了すると、Unreal Engineプロジェクトの「Content Browser」パネルにデジタルヒューマンのアセットが追加されます。

Unreal Engine プロジェクトに、先ほど追加されたアセットをドラッグアンドドロップで配置します。 Unreal Projectへデジタルヒューマンのエクスポートができました。

手順3. LiveLinkFaceアプリでデジタルヒューマンを動かす

まず、Mobile側でLiveLinkFace iOSアプリを立ち上げ、以下の設定を行います。 - 「Setting」->「Live Link」-> 「TARGETS」 -> 「Add Target」 - 「IP Address」:接続先PCのプライベートIPアドレスを設定

頭の回転も連携させる為に、「Setting」->「Stream Head Rotation」をONにします。

Mobile側の設定は以上です。

次に、PC側のUnreal Engine側で、MobileデバイスがSource Subjectとして追加されていることを確認します。 - 「Window」->「Live Link」

最後に、World Outlinerパネルからデジタルヒューマンのアセットを選択して、以下を設定します。 - 「LLink Face Subj」:自身が追加したSource Subjectを選択 - 「LLink Face Head」:ON

完成

Unreal Engineのプレイボタンを押すと、リアルタイムフェイスリグが確認できます!

いかがでしたでしょうか。 EpicGames社が提供するUnrealEngine、MetaHuman、LiveLinkFaceを用いて、ノーコードでデジタルヒューマンのフェイスリグを行いました。

実はこのMetaHuman、既に映画やゲームなどの開発にも利用されており、先日公開されたPS5/Xbox向けデモThe Matrix Awakens: An Unreal Engine 5 Experience では、実際にハリウッド映画並のクオリティでリアルタイムに動くゲームが公開されており、その作品の主人公もMetaHumanで作成されています。

メタバースに対する注目が集まっている中、基盤となるゲームエンジンや周辺システムも個人レベルで簡単にアクセスできるようになってきており、ますますこの領域に目が離せません。

現在ISID金融ソリューション事業部ではブロックチェーンNFT関連の研究開発を行っております。 既にDecentralandSandboxなどのVRサービス内ではNFTアイテムが取引可能になっており、将来的なオープンなメタバースブロックチェーンの親和性は高いと考えられます。引き続き3DCG領域の技術もウォッチしていきたいと思います!

参考

執筆:@yamashita.yuki、レビュー:@sato.taichiShodoで執筆されました