MetaHumanはEpic社がリリースしたデジタルヒューマン作成ツールです。これまでデジタルヒューマンを実現するためには、高度で広範囲に及ぶテクニックが必要で、膨大な時間と労力が必要です。その作り方もクリエイターそれぞれまちまちで、さらに状況に合わせてさまざまな手法がとられているため、統一的なアプローチも見出せないのが実情ではないでしょうか。
もちろん、デジタルヒューマン系ツール自体はこれまでもありました。古くはPoserから、Daz3DやiCloneなどです。そうしたツールとMetaHumanの違いは、UnrealEngineに最適化されたワークフローと機能性、そしてクオリティの高さにあるのではないでしょうか。
逆にデメリットとしてはUnrealEngineでしか使えないということです。他の3DCGツールにエクスポートしたりはできません。しかし、もし作品をUnrealEngineで作るということであれば、これほどまでに強力なキャラクター生成ツールを使わない手はありません。
このチュートリアルは、まだ現時点でアーリーアクセスのMetaHuman Creatorでキャラクターを作成し、UnrealEngineで使用するまでの一連の流れを紹介します。
キャラクターを作成
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_キャラクター名」というブループリントクラスをレベルに追加します。
UE4マネキンのモーションデータを適用する
MetaHumanを既存のアニメーションアセットを使って動かしてみましょう。MetaHumanのスケルトン構造は、UE標準のEpic Skeletonから拡張されているのでリターゲットが必要となります。でも下記の手順さえ覚えてしまえば、既に豊富に流通しているUE4マネキン用のアニメーションを利用できてしまいます。
MetaHumanのスケルトン調整
1 MetaHumanのスケルトンはどこにあるか?
MetaHumanのスケルトンを開きましょう。スケルトンはCommonフォルダの中の「metahuman_base_skel」となります。入っている場所はキャラクターの体格によって異なるフォルダになると思います。今回紹介しているキャラクターは「Female>Medium>NormalWeight」の中にありました。
2 MetaHumanスケルトンのリターゲットオプション設定
スケルトンツリーパネルを開き、パネル上部のオプションメニューから「リターゲットオプションを表示」を選択します。
[Hint] この作業の際、ビューポートの「キャラクター」から「ボーン>すべての階層」を選択しておくと全身の構造が確認できます。
3 MetaHumanスケルトンのリターゲットリグ設定
次にリターゲットマネージャーパネルを開き、リグを選択を「Humanoid」に設定。下記画像を参考に「spline_01」「spline_02」「spline_03」のターゲットを一つずらして設定します。これでMetaHumanのスケルトン関連の設定は完了となります。
UE4マネキン用アニメーションをMetaHumen用に変換する
それではスケルトンの設定が終わりましたので、UE4_Mannequin用のアニメーションアセットをMetaHumanでも使用できるようにリターゲットして変換・複製します。変換したいアニメーションアセットを選択して右クリック、「Animアセットをリターゲットする>Animアセットとリターゲットを複製する」を選択します。
スケルトンを選択するダイアログが表示されますので、「metahuman_base_skel」を選択して「リターゲット」を押して、変換しましょう。変換されたファイルは「フォルダ」で指定されたパスに複製されます。デフォルトでは一番上のトップの階層に作られます。
複製されたアニメーションを下記の手順でMetaHumanに適用してみます。
- 複製されたアセットを確認
- レベル上のMetaHumanアクターを選択
- 詳細パネルのコンポーネント内のBodyを選択
- BodyのAnimation Modeを「Use Animation Asset」へ変更
- 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を起動してターゲット(データを送信するパソコン)を追加します。
- 設定アイコンをタップ
- Live Linkをタップ
- ターゲットを追加をタップ
- UnrealEngineが起動しているPCのIPを入力
PCのIPアドレスを調べる際は、コマンドプロンプトを起動して「ipconfig」と打ち込んでEnterキーを押すと「IPv4アドレス」という項目の右側で確認できます。通常は「192.168.*.*」のような4つ数字となります。これを間違えると、UnrealEngine側からiPhoneを見つけられず、データを送信することができませんので慎重に入力してください。
ここまで設定したら完了です。レベルをプレイしてみてください。うまくいっていれば、あなたの表情がMetaHumanに反映され、生々しくリアルに表情を作り出すはずです。今回のチュートリアルではTakeRecoderを用いた表情データのレコーディングまでは扱いませんが、また後日チュートリアルで取り上げたいと思います。
アニメーションアセットと、LiveLinkFaceを組みわせによって人物表現の労力が軽減するとともに、品質が大きく向上するはずです。まだMetaHumanは早期アクセスの段階ですが、今後の機能追加が非常に楽しみです。