MetaHumanはEpic社がリリースしたデジタルヒューマン作成ツールです。これまでデジタルヒューマンを実現するためには、高度で広範囲に及ぶテクニックが必要で、膨大な時間と労力が必要です。その作り方もクリエイターそれぞれまちまちで、さらに状況に合わせてさまざまな手法がとられているため、統一的なアプローチも見出せないのが実情ではないでしょうか。

もちろん、デジタルヒューマン系ツール自体はこれまでもありました。古くはPoserから、Daz3DiCloneなどです。そうしたツールとMetaHumanの違いは、UnrealEngineに最適化されたワークフローと機能性、そしてクオリティの高さにあるのではないでしょうか。

逆にデメリットとしてはUnrealEngineでしか使えないということです。他の3DCGツールにエクスポートしたりはできません。しかし、もし作品をUnrealEngineで作るということであれば、これほどまでに強力なキャラクター生成ツールを使わない手はありません。

このチュートリアルは、まだ現時点でアーリーアクセスのMetaHuman Creatorでキャラクターを作成し、UnrealEngineで使用するまでの一連の流れを紹介します。

MetaHuman Creatorへのアクセス

まずはMetaHuman Creatorにアクセスしましょう。この記事を書いている現時点(2021.4.25)では、まだ正式版のリリースではなく早期アクセス版の公開となっていますので、下記のページからアクセスの申請を行いましょう。数日後に、アクセスができるようになります。

https://www.unrealengine.com/ja/metahuman-creator

キャラクターを作成

MetaHuman CreatorはWebブラウザからアクセスるWebアプリケーションですので、通常のアプリと違ってインストールの必要はありません。下記URLから規定のブラウザでアクセスすれば使用することができます。

https://www.unrealengine.com/ja/metahuman-creator

使用方法は明快で、まるでゲームのキャラクターカスタム画面のように、顔全体の形状から、パーツの細やかな調整まで、さまざまなパラメーターが用意されています。まずは作りたいキャラクターに近しいテンプレートを選択して、カスタマイズしていくことになると思います。

このチュートリアルでは操作の詳細は省略します。

キャラクターを作成すると、クラウド上に保存されていきます。トップ画面から「自分のMETAHUMAN」というタブを選択すると、作成したキャラクターが表示されるでしょう。このデータは後ほど解説する「Quixel Bridge」というツールを経由してUnreal Engineにダウンロードします。(私は思い込みでダウンロードやエクスポート機能を探してしまい、しばらく作業が中断してしまいました)

Unreal Engineにインポート

MetaHuman Creatorで作成したキャラクターは「Quixel Bridgeアプリ」と「Megascansプラグイン」を使用してUnreal Engineにインポートできます。Bridgeのインストール方法については、こちらの記事「MegaScansを活用する」にまとめていますので参考にしてみてください。

インストールとセットアップが終わったら、早速インポートしてみましょう。Bridgeの左側に「MetaHumans > My MetaHuman」の中に先ほど作成したキャラクターがあるはずです。

あとはExportを押すだけです。設定が正しく行われており、UnrealEngineでプロジェクトを開いていれば、MetaHumanのデータがコンテンツブラウザに現れるはずです。ダウンロードした中間ファイルをインポートする、という手間がなく、とてもシンプルなフローとなっています。

キャラクターをレベルに表示させるためには、下記画像にもあるキャラクター名のフォルダ内にある「BP_キャラクター名」というブループリントクラスをレベルに追加します。

MetaHumanの髪の毛はLODによって、少し遠ざかると非表示になってしまいます。これは描画のパフォーマンスを維持するための機能ですが、表示され続けて欲しいケースもあると思います。その場合は下記の髪の毛のアセットと開いてLODの設定を変更しましょう。

UE4マネキンのモーションデータを適用する

MetaHumanを既存のアニメーションアセットを使って動かしてみましょう。MetaHumanのスケルトン構造は、UE標準のEpic Skeletonから拡張されているのでリターゲットが必要となります。でも下記の手順さえ覚えてしまえば、既に豊富に流通しているUE4マネキン用のアニメーションを利用できてしまいます。

MetaHumanのスケルトン調整

1 MetaHumanのスケルトンはどこにあるか?

MetaHumanのスケルトンを開きましょう。スケルトンはCommonフォルダの中の「metahuman_base_skel」となります。入っている場所はキャラクターの体格によって異なるフォルダになると思います。今回紹介しているキャラクターは「Female>Medium>NormalWeight」の中にありました。

2 MetaHumanスケルトンのリターゲットオプション設定

スケルトンツリーパネルを開き、パネル上部のオプションメニューから「リターゲットオプションを表示」を選択します。

[Hint] この作業の際、ビューポートの「キャラクター」から「ボーン>すべての階層」を選択しておくと全身の構造が確認できます。

rootとpevilsのトランスレーションをAnimationに設定。それ以外は「移動リターゲティングスケルトンを再帰的に設定」を選択してすべてSkeletonに設定しましょう。

3 MetaHumanスケルトンのリターゲットリグ設定

次にリターゲットマネージャーパネルを開き、リグを選択を「Humanoid」に設定。下記画像を参考に「spline_01」「spline_02」「spline_03」のターゲットを一つずらして設定します。これでMetaHumanのスケルトン関連の設定は完了となります。

UE4 マネキンのスケルトン調整

UE4_Mannequin_Skeletenを開き、リグを選択から「Humanoid」を選択、「ik」から始まるソースのターゲットを「None」に設定します。これだけで完了です。

UE4マネキン用アニメーションをMetaHumen用に変換する

それではスケルトンの設定が終わりましたので、UE4_Mannequin用のアニメーションアセットをMetaHumanでも使用できるようにリターゲットして変換・複製します。変換したいアニメーションアセットを選択して右クリック、「Animアセットをリターゲットする>Animアセットとリターゲットを複製する」を選択します。

スケルトンを選択するダイアログが表示されますので、「metahuman_base_skel」を選択して「リターゲット」を押して、変換しましょう。変換されたファイルは「フォルダ」で指定されたパスに複製されます。デフォルトでは一番上のトップの階層に作られます。

複製されたアニメーションを下記の手順でMetaHumanに適用してみます。

  1. 複製されたアセットを確認
  2. レベル上のMetaHumanアクターを選択
  3. 詳細パネルのコンポーネント内のBodyを選択
  4. BodyのAnimation Modeを「Use Animation Asset」へ変更
  5. Anim To Playに複製したアセットを設定
アニメーションアセットのボーン調整

(2021.5.1 追記)

これまでの手順に問題がなければ、UE4マネキンのアニメーションアセットがMetaHumanで使用できるようになるのですが、アニメーションアセットによっては関節の角度を調整する必要がある場合もあります。今回のケースでは、肩の角度が下がりすぎているようです。

変換済みのアニメーションアセットを開いて、該当するボーンを選択。角度を調整したのちにツールバー上部にある「+キー」ボタンをクリックします。今回は肩を調整するために「clavicle_r」「clavicle_l」の角度を変更してみました。

これで下記ムービーのようにUE4マネキンのアニメーションアセットがMetaHumanで違和感なく使用できるようになるはずです。リターゲットやボーンの調整はあるものの、想像してたよりも少ないステップではないしょうか。これぐらいの手軽さであれば、MetaHumanの活用の場も増えるのではないかと思います。

iPhoneアプリで表情を制御する

Epicはキャラクターの表情の制御のために「Live Link Face」というiOSアプリをリリースしています。これはAppleのFace ID用に開発されたTrueDepthカメラで、顔を立体的に捉えて表情を分析し、リアルタイムにUnreal Engineに送信するというものです。そのためここからの機能を実現するためにはFaceIDに対応したiPhoneが必要になります。(実は私はこのためにiPhoneを買い替えました..)

このチュートリアルでは簡単なステップのみ紹介していますが、フェイシャル アニメーションを記録などの、より詳細な説明は公式のドキュメントをご覧ください。

ネットワーク設定とLive Link Faceのインストール

まずLive Link Faceをダウンロードしたら、UnrealEngineが起動しているPCとiPhoneを同じネットワークに接続します。多くの場合は同じWifiに接続することでうまくいくと思いますので、WifiのSSIDが一致しているかを確認してみてください。

次にLive Link Faceを起動してターゲット(データを送信するパソコン)を追加します。

  1. 設定アイコンをタップ
  2. Live Linkをタップ
  3. ターゲットを追加をタップ
  4. UnrealEngineが起動しているPCのIPを入力

PCのIPアドレスを調べる際は、コマンドプロンプトを起動して「ipconfig」と打ち込んでEnterキーを押すと「IPv4アドレス」という項目の右側で確認できます。通常は「192.168.*.*」のような4つ数字となります。これを間違えると、UnrealEngine側からiPhoneを見つけられず、データを送信することができませんので慎重に入力してください。

UnrealEngine側の準備

下記3つのプラグインを有効化します。

  1. Live Link
  2. Apple ARKit
  3. Apple ARKit Face Support

次にiPhoneが認識されているのか確認しつつ、MetaHumanアクターでデータを受け取れるように設定します。

  1. LiveLinkウィンドウを開く
  2. iPhoneが表示されていればOK
  3. LLink Face Subjectを使用するiPhoneに設定
  4. 頭の回転も適用する場合はON

ここまで設定したら完了です。レベルをプレイしてみてください。うまくいっていれば、あなたの表情がMetaHumanに反映され、生々しくリアルに表情を作り出すはずです。今回のチュートリアルではTakeRecoderを用いた表情データのレコーディングまでは扱いませんが、また後日チュートリアルで取り上げたいと思います。

アニメーションアセットと、LiveLinkFaceを組みわせによって人物表現の労力が軽減するとともに、品質が大きく向上するはずです。まだMetaHumanは早期アクセスの段階ですが、今後の機能追加が非常に楽しみです。

メニュー