そのようないくつものチームが、Unreal Engine を活用して、リアルタイム レンダリング、モーション キャプチャ、フェイシャル キャプチャを使ってフォトリアルなデジタル ヒューマンを作り出すことが可能であると実証してきました。実例として、Hellblade: Senua's Sacrifice (2016)、Meet Mike (2017)、Osiris Black (演技は Andy Serkis 氏、2018)、Siren のデモ プレゼンテーション (2018)、そして称賛を浴びた DigiDoug (2018) が挙げられます。
韓国を拠点とするクリエイティブ スタジオ Giantstep は、3Lateral や Cubic Motion などの成功に触発されて、独自のデジタル ヒューマン Project Vincent の着想を得ました。当初は共同開発も視野に検討、調査が重ねられましたが、最終的にはスタジオの研究開発部門 GxLab がテクノロジーの社内開発に挑戦することにしました。社内の人材から、VFX アーティスト Daisuke Sakamoto 氏を含む 5 名のアーティストを集めてチームが結成され、克服すべき 3 つの主な課題が特定されました。
肌と髪:ビジュアル テクノロジーの課題
Giantstep の研究開発担当ディレクターである Sungku Kang 氏によると、チームが最初に直面した技術的な課題は、必要なシェーディング テクノロジーへのアクセスを確保することでした。そして、これが Unreal Engine を選んだ理由の 1 つでもあります。Kang 氏は次のように述べています。「Unreal Engine のマテリアル エディタと、スキン ライティング モデルに含まれる Transmission やデュアル ローブ スペキュラリティなどの優れたスキン シェーディング機能が、Vincent の肌質をオフライン レンダリングの水準まで上げるのに大きく貢献しました。追加の開発は一切不要でした。これらの機能がサポートされていなかったら、機能を開発するために、さらに膨大な時間、労力、コストがかかっていたはずです」チームは、テクノロジーの開発プロセスやプロパティについて理解するために、Unreal Engine のオンライン ラーニング コースを有効に活用しました。開発者は、テクノロジーの基礎について理解するために、必要に応じてソースコードにアクセスし、各機能の内容、使用されている数式、プロパティを突き止めました。「利用可能な情報をすべて活用することで、各パラメータを変更したら結果にどのような影響があるのかを正確に理解できました。このため、数値をランダムに入力して結果を成り行きに任せるのではなく、明確な意図を持って情報を活用できました」と Kang 氏は言います。「また、マテリアルのインスタンス化によって、パラメータを即時に変更し、結果をプレビューできるのも非常に便利でした。この機能により、最終的な微調整の段階にかかる時間を大幅に短縮できました」
Epic Games が公開している Meet Mike の無料アセット サンプルからも、Vincent のビジュアルを開発するために必要なテクノロジーについてヒントが得られました。アセットを調べ、顔の細かい産毛を表現する方法や、最終的な髪型に必要なデータなど、重要な情報を収集しました。
また、Maya や 3ds Max などの DCC ツールの基本データに加えて、追加のデータが必要であることがわかりました。これが、事前に効果的なデータ構造を準備する方法に関するヒントになりました。「これらの情報すべてを活用して、開発者は Maya プラグインやスクリプトの開発目標を明確に設定し、開発期間を短縮できました」と Kang 氏は言います。
Meet Mike のデータをテンプレートとして使用することで、チームは、このプロジェクト用に開発した独自のツールが機能すると確信できました。たとえば、Maya ヘア エクスポート ツールを作成しました。最初は Meet Mike の基本データに基づいて開発を行いましたが、その後、Vincent に固有の機能を追加するためにツールを体系的に拡張していきました。ゼロからスタートした場合、考えられるあらゆる結果に対して、時間のかかる R&D プロセスが必要だったはずですが、実績のあるしっかりとしたテンプレートをベースにすることで、チームはこのプロセスを回避できました。Kang 氏は次のように指摘します。「R&D 段階の終了後も、選んだ手法が正しかったかどうか作業完了まで疑念が晴れず、開発プロセスの確実性やスピードが大幅に下がったはずです」
同様に、Transmission とデュアル ローブ スペキュラリティに加えて、Meet Mike のスキン シェーダーが、顔の各エリアをどのように分割、ブレンドすると効果的であるかについてヒントをもたらしました。この情報を使い、チームは Maya で顔のエリア情報を設定、エクスポートするツールを開発できました。
Kang 氏は次のように述べています。「このツールに最低限どのような機能が必要であるかと、顔の各エリアの階層をどのようにするべきかについて確信を持てたため、Maya フェイシャル ツールを設計、開発する時間を大幅に節約できました。開発者は、Unreal Engine の機能やサンプルを活用して Vincent の基盤を確立してから、追加のニーズを満たす拡張機能を開発して最終的な見た目を整えました」
自然な表情をリアルタイムで作成
チームが直面した 2 つ目の技術的な課題は、印象的な表情を作り出すためのテクノロジーの選定、導入に関わるものでした。多数のソリューションを評価後、その多くがデフォルトでオフライン レンダリング用に開発されているか、質が低くビデオゲーム レベルであるか、iPhone のフェイシャル キャプチャ機能を使用しているため、詳細度やカスタマイズ機能が限られていることがわかりました。このため、ニーズに最も近いテクノロジーを探し出し、それをベースに独自のソリューションを社内で開発する方向に転換することになりました。最初のタスクは、正確な 3 次元の位置データを提供し、データ形式の自由度が高い候補を特定することでした。ニーズに最も近いフェイシャル アニメーション キャプチャ システムとして選ばれたのは Vicon Cara でした。Vicon Cara は、4 台のカメラと、マーカーの位置をとらえるグローバル シャッターを前面に備えた、ヘッドマウント型カメラ装置です。このデバイスでは、マーカーの位置を柔軟に設定でき、その位置を非常に高い精度で 3 次元のデータに変換できます。
Kang 氏は次のように述べています。「その当時、ほとんどのソリューションは、顔のランドマークの 2 次元位置情報データのみをスキャンできました。Cara は、3 次元のデータをキャプチャできるという理由で選ばれました。ただし、Cara はオフライン レンダリング用であったため、そのままではリアルタイムのデータ転送は不可能でした。この課題を解決するため、ディープ ラーニングを利用して 2 次元画像から 3 次元のマーカー位置を推測するニューラル ネットワークを作成することにしました」
チームは最初に、Cara にカメラをもう 1 台追加しました。アクターの顔の動きをキャプチャするとき、追加したカメラの映像を別に保存し、学習用データとして使用しました。この映像と、計算で求められた 3 次元のマーカー位置の値を対応づける手法がとられました。
ここから、開発者は 2 次元の画像入力から 3 次元のマーカー位置を高い精度で推測できる人工知能を開発しました。また、表情の強調やブレンド シェイプのウェイトの設定を含め、できる限り多くの領域で機械学習が活用されました。「Giantstep はこのプロセスを通じて機械学習の経験を積むことができました。機械学習を効果的に活用すれば、少人数のチームでも限界を超えることができるという事実に励まされました」と Kang 氏は述べています。
デジタル ヒューマンのパイプラインの最適化
チームが直面した最後の大きな技術的な課題は、パイプラインを最適化するテクノロジーを確保することでした。少人数のチームであったため、効率性が鍵を握ることになると当初からわかっていました。最も重要な取り組みは、手作業でのイテレーションの負担を減らし、できる限り自動化を促進することでした。Kang 氏は次のように述べています。「それも Unreal Engine が最適な選択肢となった主な理由の 1 つです。Unreal Engine は Python をサポートし、プラグインの開発が可能であるため、多くの領域でイテレーションについて設計者が抱えていた課題を容易に解決でき、関連するツールを容易に開発できました」その一例に、フォトリアルな表情を表現するための作業があります。顔を分割する各エリアの形状と数をさまざまに組み合わせ、結果をすぐにプレビューできるようにします。顔のエリアを変更するには、テクスチャを新たに組み合わせる必要があったため、アセットを再インポートし、マテリアルの合成の詳細を構成に合わせて変更する必要がありました。「プロセス全体を手作業で行った場合、アーティストが結果をプレビューするには、単純なイテレーションのために 1 日かかります」と Kang 氏は言います。
Unreal Engine で Python スクリプトを使用することで、チームはアセットのインポートなどの面倒な作業の管理プロセスを自動化できました。マテリアル合成プラグインにより、テクスチャの組み合わせ、生成、マテリアル構成を自動化できました。顔エリアの情報を変更するたびにフェイシャル マテリアル ノードを変更する必要はなく、アーティストの貴重な時間をさらに節約できます。
Kang 氏は次のように述べています。「データ変更時に、以前は丸一日かかっていたタスクをわずか数分で自動的に完了できるようになりました。Maya のさまざまなプラグインやスクリプトを通じて最大限に自動化し、Unreal Engine のプラグインを開発することで、少人数のチームでも Project Vincent を短期間で完了できました」
映画の枠を超える:リアルタイム デジタル ヒューマンの未来
Project Vincent が始まったときに存在したフォトリアルなリアルタイム デジタル ヒューマンの数はわずかで、そのほとんどは Epic との共同開発でした。Vincent はリアルタイム デジタル ヒューマンとして第 2 世代であり、少人数のチームで完全に社内で開発されています。Giantstep は、その成功が認められ、SIGGRAPH 2019 で Epic のブースに招待されて作品を紹介するセッションを担当しました。このテクノロジーの基盤を築いてきた Digital Domain、Giantstep、3Lateral、Cubic Motion などに他社も続き、これまでオフライン レンダリング テクノロジーに頼ってきた映画制作やその他のメディア、エンターテインメントが、リアルタイム デジタル ヒューマン開発テクノロジーによって変わると期待されています。また、ほかの業界への展開も予測されています。AI スピーカーや AI アシスタントと同期すれば、ユーザーがより直感的な AI サービスを体験できるようになるかもしれません。質が高く極めてリアルなキャラクターが最先端のマーケティングやプロモーション活動に使われ、成果を上げるようになるかもしれません。Giantstep はこのストーリーにおいて重要な役割を果たすことを目指しています。テクノロジーの進歩に力を注ぎ、次の開発の成果をできる限り早期に公開することを計画しています。
独自のデジタル ヒューマンの開発に関心を抱かれた場合は、Unreal Engine をダウンロードし、無料の Meet Mike アセット サンプルを確認するところから始めてみてください。