Visual Effect Graph を使用してキャラクターを作成することは、Unity の Demo チームにとって興味深い挑戦でした。Unity の Demo チームのテクニカルアーティスト Adrian Lazar は、それまでのキャリアでレンダリングの完了待ちに非常に長い時間を費やしてきた経験を振り返って、リアルタイムなオーサリングによっていくつもの制作上の選択肢が可能になることを高く評価しています。これからお届けする記事では、「Morgan」というキャラクターを作り上げるプロセスの詳細な分析と、Unity でビジュアルエフェクトの制作に取り組む人に向けた有用なヒントを紹介します。
こんにちは。Adrian Lazar です。広告のポストプロダクションからキャリアをスタートさせ、2009 年にゲーム開発でリアルタイムグラフィックスの仕事へと移るという経歴で、18 年ほどコンピューター生成グラフィックスに関連する仕事をしてきました。私にはジェネラリストとしてのバックグラウンドがありますが、ここ数年はテクニカルアートの仕事を担当する比率が増してきています。この仕事での経験を活かして、小さいながら才能に溢れたメンバーとチームを組んで、自分のインディーゲームを発売することができました。
2019 年の初めにテクニカルアーティストとして Unity の Demo チームに参加したとき、チームは『The Heretic』の第 1 部をリリースする準備をしており、そこで私はいくつかの仕上げのエフェクトの仕事を手伝わせてもらいました。その後すぐ、このショートフィルムの第 2 部で登場する、神のような姿をした、ビジュアルエフェクトで描かれたキャラクターである Morgan について議論をはじめました。
ストーリーテリングの面では、Vess(『The Heretic』の脚本、監督、クリエイティブディレクターを務めた Veselin Efremov)から、明確な要件がいくつも示されました。Morgan は、冷静と怒りの間、女性と男性の間、あるいはこれらの軸を組み合わせた状態の間で揺れ動く姿をとること、人間の身長の何倍もの高さに成長すること、崩れ落ちたり、炎をまとったりすることなど、さまざまな要件がありました。
一方、外見については、Vess は意図的にかなりオープンなままにしておき、思索や実験をしやすいようにしました。元同僚の Georgi Simeonov が作成した初期段階のコンセプトはいくつかありましたが、それらは最終的な外観の基本となるビジュアルエフェクトやシェイプシフトには触れていませんでした。つまり、私はまったく白紙の状態からスタートすることになったわけです。これは非常にチャレンジングなことでしたが、同時に楽しい要素もありました。
私は以前から慣れ親しんでいるツールである Houdini 3D を使って初期のテストを始めました。このテストでは、Vess と一緒に初期段階のアイデアを検討したり、アイデアを引き出したりする良い機会になりました。
もちろん、リアルタイムショートフィルムの制作では、Morgan を構築するエフェクトを Unity 内で開発したいと考えていました。そうすれば、キャラクターを反復的に修正して、キャラクターをその周囲で起きていることに正しく反応させられるようになります。そのため、別のソフトウェアでエフェクトを事前にシミュレーションするのではなく、別のソリューションを探す必要がありました。
Unity の Demo チームに入ってから、ストレステストを行い、改善し、時には多くのユーザーが日常的に利用できるツールやプロセスを開発する機会を得られるようになったのですが、私にとってはそれも楽しみの一部です。
初期のテスト版動画
Morgan の制作では、普段の倍の機会が得られました。つまり、リアルタイムで動作する、複雑なビジュアルエフェクトで出来たキャラクターを作成することと、同様に重要なこととして、複雑なエフェクトのリアルタイムオーサリングへの第一歩を踏み出すこと、この 2 つに同時に取り組む機会を得られたということです。これは私にとって非常にエキサイティングなことでした。
考えてみてください。最終的な環境で、望み通りのカメラアングルから、最終的なライティング、ポストプロセッシング、その他のビジュアルエフェクトも使いながら、キャラクターの外観を組み上げて、しかも反復的に修正を加えることもできるのです。ほんの数年前には考えられなかったであろう、夢のような環境です。
決して平坦な道のりではありませんでしたが、良いチームワークに助けられて、両方をやり遂げることができました。
その後、実験的なビジュアルルックと、リアルタイム再生とリアルタイムオーサリングという 2 つの技術的目標を掲げて、当時まだ初期段階にあった Unity のツール、すなわち Julien Fryer とパリのチームが開発した Visual Effect Graph に目を向けました。
Visual Effect Graph は、当時はまだ新しく出てきたばかりのツールで、リアルタイムオーサリングの用途に本気で使えるようになるまでにはまだ長い道のりがあるという段階でした。しかし、Visual Effect Graph がうたうメリットは非常に大きいものでした。エフェクトを DCC でシミュレートし、エクスポートして Unity で評価した後、また DCC に戻って微調整するという工程に時間をかける必要がなくなるということに、期待が膨らみました。
チームとして、最終〆切の数時間前などという本当の最後の最後まで修正を加えられるようになりたいと考えており、このツールがあればそれは可能になる、つまりこのツールはリアルタイムグラフィックスの実現を保証するツールの 1 つであると思ったのです。
Morgan の初期バージョンの 1 つ。パーティクルが体全体に流れるようになっている
これはどちらの仕事もしている人にはおなじみの問題ですね。まず、達成したいことのアイデアを持ち、それを実現するための技術を構築する必要があります。しかし、他のどのようなクリエイティブなプロセスでもそうですが、物事はそうそう一筋縄ではいきません。アイデアはプロセスを経るうちに変更されたり、修正されたりします。それらの変更や修正は、創造的なディレクションによるものもあれば、技術的な制約によるものもあります。
また、複雑なビジュアルエフェクトで構成されるキャラクターをリアルタイムでオーサリングする仕事をやろうとしていて、その仕事自体が未知の領域に属するものなのに、その仕事で使うツールはこれまでそれに必要な規模で使われたことがないという事情がさらに物事を複雑にしていました。
キャラクターの 2 番目のメジャーバージョン
モーフィングエフェクトの第 2 版
そのため、技術とルックデブは互いに密接に連携して、私が両方を担当していたときは、反復的な修正と実験が迅速に行われる環境にあり、全体的にとても楽しく仕事をすることができました。この創造的な自由さは中毒性があり、ビジュアルはプロダクションというよりもコンセプトアートに近い作業をするようなやり方で方向性をどんどんと変えていきました。
素早く実験を行うことの利点の 1 つに、顔全体のディテールに取り組んでいたときにそれを実感したのですが、すぐに方向性を変えてテストを再利用できるということが挙げられます。顔全体のディテールに取り組んでいたときの成果物は、結局その目的に役立つものにはなりませんでしたが、髪の表現について、より落ち着いた方向に向かわせる新しい方向性を打ち出すためのインスピレーションを与えてくれました。
髪の表現の進化
しかし、他の部分なしには先に進めないという部分が出て、行き詰ったことも何度かありました。キャラクターをどこに持っていけばいいのかわからなかったり、持っている技術でやりたいことができなかったりすると、物事が前に進まないのです。
こうした事態に直面しても、幸運なことに、私には助けを貸してくれる同僚がいました。この場を借りてお礼をしたいと思います。
3 つのメジャーバージョンの制作と数え切れないほどの小さな実験を経て、最終〆切が近づいてきた頃、ついに Morgan の最終バージョンが出来上がってきました。
初期の炎のエフェクトはエネルギーバーストの一種のようだった
『The Heretic』のショートフィルムでは、より物理的な挙動を再現した崩壊エフェクトが必要だったので、Houdini からエクスポートしたシミュレーションとこのバラバラに崩れるエフェクトを組み合わせました。
※訳注:Morgan というブランドの Crumble(ポロポロと崩れる生地で出来たお菓子・料理)にちなんでいるようです。
初期の Crumble のテスト
制作途中の隕石のエフェクト
Morgan は 17 個の Visual Effect Graph で構成されており、それぞれのグラフが異なる部分をカバーしています。これは、Morgan の各部分にかかるエフェクトを管理しやすくするために行ったものです。
まず、キャラクターのアニメーション中に、スキンメッシュ上にパーティクルを生成し、それに沿ってパーティクルを生成する必要がありました。Visual Effect Graph では、スキンメッシュはデフォルトではサポートされていないため、別の方法で対応する必要がありました。
ベースメッシュの位置、法線、接線は UV 空間でレンダリングされ、Visual Effect Graph のテクスチャパラメーターとして設定されます。これにより、キャラクター上でパーティクルに正しい位置と回転の情報を与えることができます。
頂点カラーとアルベドテクスチャも UV 空間でレンダリングされます。これらのテクスチャは、サイズ、スケール、角度、ピボットなどの特定のプロパティを操作するために使用されます。Morgan のパッケージでは、テクスチャを生成するプロセスが私の同僚である Robert Cupiz(『The Heretic』の技術・レンダリング部門のリード)と Torbjorn Laedre(Unity の Demo チームのプリンシパルエンジニア)によって、大幅に改良されています。
Morgan を構成するすべてのグラフはカスタムエディターで一元管理されており、共有されているプロパティを素早く更新することが容易になりました。公開されているパラメータは約 300 個ですが、追加できるパラメータの数に制限はありません。しかし、インターフェースにあまりに多くのパラメーターを持つと、作業することが困難になってきます。
炎のエフェクトの進化
Morgan について詳しく知るには、スタンドアロンパッケージをダウンロードして遊んでみるのが一番です。『The Heretic』のランディングページでは、このプロジェクトの背景にある制作プロセスについてのブログ記事やビデオを見ることができます。
シミュレーションやレンダリングが終わるまで長い間待っていた人にとって、現在、多くの産業を再形成しつつあるリアルタイム革命は夢のような出来事です。次のチャレンジに挑む日を楽しみにしています。