魔法が散らす火花、噴き上がる煙、紫や青に輝くエネルギー線、霧や雨の中に見える街の灯り、草が揺れる野原...... 現代のゲームは、ビジュアルエフェクトの感情に訴える力なしには考えられません。
プレイヤーに深い没入感を与える体験を作り出すには、ビジュアルエフェクトが重要です。また、絶えず進歩し続けるハードウェアのおかげで、これまでハリウッドの大作映画でしか実現できなかったことが、リアルタイムで実現できるようになりました。
Visual Effect Graph は、アーティストやデザイナーが少ないコーディング、あるいはコーディングなしで制作を行うために Unity で用意されている主要なツールセットの 1 つです。ノードベースのビジュアルロジックにより、さまざまなジャンルのプロジェクトで、シンプルなものから複雑なものまで、無数のエフェクトを作成することができます。
Unity が新しく公開した 120 ページの e ブック「The definitive guide to creating advanced visual effects in Unity」 は、Visual Effect Graph の Unity 2021 LTS バージョンを使用するアーティスト、デザイナー、プログラマーに向けたガイドです。いくつものレイヤーを重ねたリアルタイムのビジュアルエフェクトを制作する際の参考にしてください。
Visual Effect Graph は GPU アクセラレーションを使ったパーティクルシステムを作成するため、ターゲットデバイスとの互換性を維持するためにコンピュートシェーダーのサポートを必要とします。 ユニバーサルレンダーパイプライン(URP、2D Renderer を含む)および HD レンダーパイプライン(HDRP)と組み合わせて動作します。
ビルトインのパーティクルシステムと比較して、Visual Effect Graph は、高速シミュレーション、カスタマイズ可能なビヘイビア、拡張性、カメラバッファへのアクセス、ネイティブのシェーダーグラフの統合により、より多くのパーティクルを駆動することができます。シェーダーグラフで作成した任意のカスタムシェーダーを Visual Effect Graph のターゲットとして使用することができます。これらのシェーダーでは HDRP のヘアやファブリックなどの新しいライティングモデルを使用したり、パーティクルを頂点レベルで修正して、羽ばたく鳥やシャボン玉のように揺れるパーティクルなどのエフェクトを実現したりすることができます。
今回の Visual Effect Graph について解説した e ブックは、見た目が美しいだけでなく、インスピレーションや豊富な情報を与えてくれるものに仕上がっています。映画やゲーム業界で活躍するベテランビジュアルエフェクトアーティスト Wilmer Lin 氏と、Unity Graphics チームの社内エキスパートとのコラボレーションで作成されたこの e ブックは、Unity でのビジュアルエフェクトオーサリングに関して、そのカバー範囲、レベル、丁寧な指導、画像やビデオ、多数のダウンロード可能なリソースやリファレンスなど、手間を惜しみなくつぎ込んで出来上がった内容となっています。
ガイドの中身をざっと見てみましょう。
VFX Graph Asset とコンポーネント、VFX Graph ウィンドウから、Visual Effect Graph の各部分を徹底的に理解しましょう。システム、コンテキスト、ブロック、プロパティ、演算子、ブラックボード、サブグラフ、イベント、属性などを使って、ロジックを作成する方法について学びましょう。
ビジュアルエフェクトは、多数の動く部品でできていることがよくあります。それらをアプリケーションの適切な場所に接続することは、実行時にエフェクトをひとまとまりのものにする上で不可欠です。以下に示したような、エフェクトを再生するために利用できるツールやその使い方を e ブックから学べます。
カラフルな Particle Strip の群れ、衝突する Meteorite の爆発エフェクト、さらにぬるぬる感の増した GooBall。これらは Visual Effect Graph - Samples (HDRP) で見られるエフェクトのほんの一部です。
各サンプルは、Visual Effect Graph に関連する別々のシナリオに光を当てています。理解を深めるために、e ブックのこのセクションではこれらのサンプルがどのように作成されたのかを、そこで使われたテクニックも合わせて解説しています。
GooBall シーンの解説の続きも含め、さまざまなサンプルを紹介するクリップを e ブックでご覧ください。
エフェクトは真空中に孤立して存在しているわけではありません。意図したルックを実現するために、外部データを提供する必要がある場合も多いでしょう。
魔法のランプから精霊を出現させたい場合はどうすればいいのでしょうか。ホログラムを仕込みたい場合はどうでしょう。数学関数や演算子で多くのことを実現できますが、より複雑な形状やフォームを操作するためのエフェクトが必要な場合があります。
このセクションでは、Unity でサポートされている 3 つの Data タイプを使用して、ビジュアルエフェクトを強化する方法について説明します。3 つの Data タイプとは、Point Cache、Signed Distance Field、そして Vector Field です。その他、Unity でビジュアルエフェクトを作るアーティスト向けの追加ツール VFXToolbox、スプライトにアニメーションエフェクトをベイクするためのツール Flipbook Texture Sheets について学ぶことができます。
このガイドの他の章では、ビジュアルエフェクトのための最適化技術、Visual Effect Graph の将来の開発に触れており、巻末にチュートリアルと動画の長大なリストを掲載しています。この価値あるリソースを提供できることを嬉しく思います。この資料は(Unity のテクニカルな e ブックはすべてそうですが)無料でダウンロードできます。このフォーラムでぜひ皆さんのフィードバックをお寄せいただければと思います。
利用可能な Unity の e ブックの全リストは、How-to ハブをチェックするか、Advanced best practice guides ドキュメントをご覧ください。