提供開始:Visual Effect Graph と HD レンダーパイプラインによる『Spaceship Demo』プロジェクト

昨年の Unite LA では、Unity 2018.3 で作成した一人称視点ゲームのデモビデオにより、新機能「Visual Effect Graph」をお披露目しました。このデモは HD レンダーパイプライン(HDRP)でレンダリングされ、高解像度のアセットやライティング、エフェクトが使われていました。
今年、Unity 2019.3 にて、いよいよ Visual Effect Graph が正式にリリースされます。そこで、このプロジェクトの制作方法をご紹介するため、最新機能をフル活用したエフェクトにアップグレードしたうえで、『Spaceship Demo』プロジェクトをドキュメントと合わせて公開します。今すぐプロジェクトをダウンロードし、Unity 2019.2 で実際に体験してみてください。
『Spaceship Demo』のビデオはこちらです。
『Spaceship Demo』のエフェクトは、シンプルな環境用 VFX から複雑な AR、ホログラフィック UI、HUD、ド派手なリアクターコアのエフェクトに至るまで、すべて Visual Effect Graph を使って作成されています。デモに登場する美麗な環境やエフェクトの一部を、以下にスクリーンショット形式でご紹介します。





『Spaceship Demo』では、全編を通じて数多くのエフェクトが登場します。これらのエフェクトはすべて、PlayStation 4(スタンダードモデル)の 1080p、フレーム長 33.3 ミリ秒(30 fps)を想定し、パフォーマンスを重視してゲーム制作環境下で作成、最適化されました。また、Visual Effect Graph と HDRP に大量の最適化設定が実装されており、全エフェクトでこの設定を活用しています。
半解像度半透明レンダリング:指定した透明パーティクルについて解像度を下げてレンダリングすることで、レンダリングパフォーマンスを 4 倍に強化します(まれに、多少のぼやけが生じることがあります)。この設定は主に、フォアグラウンドでライティングの影響を受ける大きなパーティクルに使用されています。その理由は、こうしたパーティクルはテクセル/ピクセル比がやや小さいので、解像度が低下してもまったく目立たないからです。
八角形パーティクル:クアッドパーティクルを最適化して、パーティクルからピクセルが透明であることの多い角部をトリミングしたものです(コストは極小)。多くの場合、パーティクルの角部は透明ですが、こうした透明な領域が重なり合うと不要な計算が行われてしまいます。オーバードローが大量に行われているような状況では、このような部分をトリミングすることでシーンを最大 25% 最適化できます。また、半透明な部分について、トリミングできない場合に解像度を抑えられるというメリットもあります。
簡易ライティングモデル:HDRP 用の Simple Lit を使用すれば、BRDF のプロパティ(拡散ライティング、スペキュラーライティング、シャドウ/クッキーレセプション、環境光ライティング)を無効化できます。表示するフィーチャーのみを選ぶことで、ライティングの計算コストをほぼゼロに抑えられます。たとえば、パーティクルのライティングにライトプローブのみを使用するには、「Simple Lit Translucent Model」を選択して環境光ライティング以外のプロパティを無効化します。この最適化は、高周波ライティングをあまり必要としない多くの環境エフェクトに採用されています。
このプロジェクトを利用するには、最新の Unity 2019.2 エディターが必要です。Unity 2019.2 は Unity Hub アプリを使用して簡単にインストールできます。「Installs」タブの「Add」ボタンをクリックし、Unity 2019.2.0f1(またはそれ以降のバージョン)を選択してください。
次に、GitHub 上の『Spaceship Demo』のページにアクセスして、プロジェクトファイルを入手します。ページに移動したら、「Clone or Download」ボタンをクリックしてプロジェクトをクローンします。GitHub Desktop アプリをインストールしている場合は「Open in Desktop」をクリックします。または、ボタン上部に表示されるアドレスを使用して、他の Git クライアントでクローンします。
Git を使用せずにプロジェクトをダウンロードしたい場合は、リリースページにアクセスして任意のリリースを選択し、そのリリースのタイトルにある「Download Project File HERE」から zip ファイルをダウンロードしてください。
ソースコードの zip ファイルと tar.gz ファイルはダウンロードしないでください。本プロジェクトでは Git LFS を使用しており、これらのアーカイブにはバイナリデータが含まれていません。このページからプロジェクトをダウンロードした場合は、忘れずに最新版のエディターも入手してください。
ダウンロードが完了したら、好きなフォルダーにプロジェクトファイルを解凍します。これで準備は完了です。
Unity Hub の「Projects」タブで「Add」ボタンをクリックし、プロジェクトのルートフォルダーを参照してプロジェクトを追加します。Unity のバージョンが選択されていない場合は、ドロップダウンメニューでバージョンを選択してください。その後、プロジェクト名をクリックしてプロジェクトを読み込みます。

プロジェクトの読み込みには 10 ~ 20 分かかります。この時間はコンピューターの性能に応じて変動します。読み込みが完了するとエディターが開き、「Discover Spaceship Demo」ウィンドウが表示されます。

「Discover」ウィンドウは、このプロジェクトの全体像や、この 5 分間のデモを構成する重要な要素を説明するために作成したものです。ここで重点的に取り上げているのは、視覚効果とスクリプト化されたシーケンスです。
注:このウィンドウはいつでも閉じることができます。再び開く場合は、「Help」の「Discover Spaceship Demo」メニューを使用してください。
プロジェクトが開いたら、このウィンドウで『Spaceship Demo』のレベルと Main Menu シーンのどちらを開くかを選択します。対応するボタンをクリックすると、エディターに該当のシーンが自動で読み込まれます。「Discover」ウィンドウが Discovery モードになり、そのレベルにおけるさまざまな重要ポイントが表示されます。

ウィンドウ左側にある一覧で項目を選択できます。各項目を選択すると、対応する視点に Scene ビューが切り替わります。また、右側にはゲームオブジェクトを選択したりアセットを開いたりするための情報が表示されます。このウィンドウを使用して、各ゲームオブジェクトの動作を確認したり、Timeline をプレビューしたり、各シーケンスを構成する Visual Effect Graph を開いたりすることができます。

Visual Effect Graph は、Unity 2019.3 で正式にリリースされます。これに合わせ、正式リリース後、Unity 2019.3 で動作するように『Spaceship Demo』プロジェクトが更新されます。今秋にさらなるプロジェクトの更新も予定していますので、GitHub のリポジトリを定期的にチェックしてください(GitHub の Watch 機能や Star 機能を使うことをお勧めします)。
また、『Spaceship Demo』に対するご意見や感想などがありましたら、フォーラムからぜひお知らせください。
Visual Effect Graph についてもっと知りたい方は、Unite Copenhagen にご参加ください
次回に皆さんと直接お会いできるのは、9 月 23 ~ 26 日開催の Unite Copenhagen です。世界中から集まった何千人もの才能豊かなクリエイターや一流開発者と出会えるのは、このイベントだけです!
- さまざまな技術セッションや交流の機会に参加したり、基調講演を聞いたりして、Unity の最新機能やテクニック、極秘情報を入手しましょう。
- 楽しい交流イベントや「Unite at Night」を通じて、業界のリーダー達と交流したり、友人の輪を広げたりしましょう。
- ワークショップ、Q&A セッション、コミュニティイベントに参加して、Unity のスキルを磨いたり、キャリアアップに役立つ関係を築きましょう。
Unite Copenhagen の詳細についてはこちらのウェブサイトをご覧ください。また、Twitter と Facebook で最新情報を公開していますので、忘れずにチェックしてください。