Search Unity

新しい HDRP シーンテンプレートを探検して、学習や制作に活用しよう

, 1月 7, 2021

この度、HD レンダーパイプライン(HDRP)の刷新されたテンプレートを皆さんにご提供することができる運びとなったことを嬉しく思います。このテンプレートは、初心者の方でも複数の部屋の照明の設定や、物理ベースの照明強度の取り扱いなどの手順を、簡単に習得していただくことができるように作られています。

このシーンは、ゲーム業界での経験豊富な 3D 環境アーティスト、VFX アーティスト、ライティングアーティスト、およびテクニカルアーティストで構成された少人数のグループによって開発されました。このチームのメンバーは以前、『Assassin’s Creed』、『Batman: Arkham』、『Crysis』、『FIFA』、『Grand Theft Auto』、『Need for Speed』、『Red Dead Redemption』、『Watch Dogs』など、世界的に有名なタイトルに携わっていました。

始めよう

必要に応じて Unity Hub をダウンロードして Unity 2020.2 をインストールし、その後、Unity Hub で HDRP プロジェクトを新規作成することで、お使いのマシンで HDRP テンプレートを試してみることができます。新規プロジェクトを作成し、「High Definition RP」テンプレートを選択し、「作成」ボタンをクリックします。

また、Unity の Furioos クラウドプラットフォームを使って、テンプレートをクラウドからストリーミングで使ってみることもおすすめいたします。ただし、このテンプレートは入力デバイスとしてマウスとキーボードが必要で、セッション時間は 5 分に制限されていますので、ご注意ください。

なぜテンプレートを刷新したのか

HDRP は、ハイエンドのハードウェア(デスクトップ PC やゲーム機)で、リアルで高品質なグラフィックスの描画を行うための調整を施された機能セットを持っています。HDRP で使用されるテクニックやコンセプトの中には、これから始める方や、業界で一般的な知識および写真のコンセプトに詳しくない人にとって理解が困難なものもあります。そのため、学習ツールとしてこの新しい HDRP テンプレートを作成しました。

これまでの数年間は、下の画像に見える小さなガレージが置かれたテンプレートを提供してきました。皆さんの中にもこちらのテンプレートを使ったことがある方がいらっしゃるかもしれません。しかし、このテンプレートは物理的に正しいライティング設定がされておらず、そのことが HDRP の機能を理解する上で大きな障害となっていました。

以前の HDRP テンプレート

より正確に表現すると、これまでのテンプレートでは、太陽光の強度が 1 万ルクスに設定されていました。これは、実際の太陽光の 10 分の 1 の設定です。これは、ライティング設定全体、特に露出や他の光源のキャリブレーションに劇的な影響を与えます。このように設定が正しく行われていないと、物理ベースのワークフローを採用したいと考えているアーティストやデザイナーを大いに戸惑わせることになりますし、初心者には選択された値が無作為に取られているように見え、やはり混乱させることになります。

また、ユーザーからのフィードバックとして、屋内外を行き来するサンプルをもっと増やしてほしいというご意見を受けました。これらのシナリオは、明るく照らされた屋外と暗く人工的に照らされた室内とでは、露出の変化が大きく、処理が非常に困難になることがあります。

ライティングがどのように設定されているかを理解していただくために、重要な値を記載したカンニングシートを用意しました。いくつかのタイプのシーンに合った、一般的な光源の色温度と強度、Exposure Volume コンポーネントを使って設定できる露出値を記載してあります。

最後に、HDRP のボリュームシステムは、AAA クラスのゲームで使われるようなエンジンの多くでは一般的なものですが、グローバルボリュームと、場所に応じてレンダリング設定を調節するために必要な局所的なオーバーライドという、階層的な概念に慣れていない初心者にとっては難しいものに見えるかもしれません。その結果、単一の領域のみで構成される従来のテンプレートでは、ボリュームシステムの持つ大きな可能性を発揮することができませんでした。

HDRP テンプレートの新要素

新しいテンプレートは物理ベースの手法に基づいて設定されており、太陽光の強さは現実と同じ 10 万ルクスに設定され、また場所ごとの露出も正しく設定されています。初心者の方は、シーンのライティングに着手する上で適した設定を手にすることができますし、このテンプレートを使えばライティングが正しく調整済みであることを前提とできるので、自信を持って実験を行うことができます。

HDRP テンプレートを開くと、3 つの部屋が互いに接続されていて、それぞれ違った雰囲気とライティング設定を持っていることが分かると思います。それぞれのエリアには、刷新された自動ヒストグラムモードを使って露出を調節することができる、個別の局所的なボリュームのセットがあります。その他にも、ボリュームフォグやホワイトバランスなど、脳の自然な動きやカメラのオートホワイトバランスをシミュレートする様々な HDRP 設定も含まれています。

3 つの部屋からなるレイアウト(側面から見たところ)

また、再生モードに入ってスケール感を感じたり、人間の視点で環境を鑑賞したりと、自由に環境を探索してみるのもよいでしょう。操作は、キーボードの WASD キーを押して移動、マウスを使って周囲を見回すというものになっています。

1 つ目の部屋

1 つ目の部屋は、大きなコンクリートの台座を備えた太陽の光が当たる円形のアリーナです。ノイズの少ない環境でアセットをテストするのに最適です。このエリアでは、汚れや水たまりをシミュレートするために HDRP の Decal Projector を多用しています。また、コンクリートのマテリアルに生じるタイリングをぼかして、自然なばらつきのある外観を実現しています。

2 つ目の部屋

階段を降りて 2 つ目の部屋に行くと、自然光で照らされた室内に、透明度、サブサーフェススキャッタリング、テッセレーションなどを用いて高度に作り込まれたマテリアルで表現された、ガラス張りの木のケージが置かれています。この領域には、GPU ベースの特殊効果として、浮遊するほこりや、木のケージの中を飛ぶ蝶が配置されています。また、カスタムされた Density Volume によって、ケージ周辺で湿度が高くなっている状況をシミュレートし、光線の美しい表現が生み出されます。

間接照明の大部分はほぼ天井の開口部からの光によるため、この部屋は GPU ライトマッパーの能力を示す格好のショーケースとなっています。これにより、太陽と空からの光の反射が表現され、鮮やかな塗料で塗装された一方の壁の外観に見えるように、美しく滑らかな光のグラデーションのシミュレーションが実現されます。

3 つ目の部屋

スロープを上っていくと、最後の 3 つ目の部屋へとたどり着きます。ここは、リアルタイムで計算されるスポットライトに、3 つのシーリングランプ、そして光を放つ長いストリップライトを備えた、超ミニマルなリビングスペースになっています。ここのストリップライトの表現にも GPU ライトマッパーが使われています。

この空間の照明の大部分は人工照明であり、その表現にはソフトシャドウ、ライトクッキー(投影テクスチャ)、丁寧に配置されたリフレクションプローブなどが駆使されています。ランプに近づくと、ほこりの粒が光線に照らされて光って見えます。

制約とアートスタイル

このプロジェクトにかけられた大きな制約として最初に挙げるべきは、上限 100 メガバイトというサイズ制限でしょう。現在の基準で見れば、これは非常に少ないデータ量です。特にテクスチャ予算、その中でもアルベド、法線、ライトマップ、リフレクションプローブに関するものについて考えると相当に限られたデータ量であると言えます。しかし、テンプレートのサイズが小さくなれば、ユーザーは世界のどこにいても、HDRP パッケージを非常に素早くダウンロードしてインポートすることができます。また、制作時のスクリプタブルレンダーパイプライン(SRP)テンプレートの内部サイズ制限にも適合します。

シーンのワイヤーフレーム(鳥瞰図)

データ予算を最大限に活用するために、強い形状、シンプルなマテリアル、再利用可能な小道具の数を少なくしたブルータリズム建築スタイルを採用することにしました。それにもかかわらず、この環境では、時として照明のベイキングやプローブやボリュームなど、直方体形状でレンダリングされるゲームオブジェクトの配置において多くの問題を引き起こすこともある複雑な幾何学的形状、特に曲がったものや傾いたものを使用することを躊躇しませんでした。

スカイボックスの処理で、カスタムの(そしてメモリを大量に消費する)HDRI テクスチャを使わないことにしました(HDRI テクスチャを採用していたら、テンプレートのサイズも劇的に大きくなっていたものと思われます)。代わりに、HDRP に組み込みの低解像度 HDRI を採用しました。この方法の主な欠点は、太陽を表す円形の図形が描かれないことです。

最後に、このテンプレートのサイズを 100 メガバイトに収めるために、最も強く制約を受けた要素の 1 つがリフレクションプローブだったことに触れておきます。シーン内の 18 個のリフレクションプローブのメモリ使用量を最小限に抑えるために、解像度は最高でも 256 ピクセルにとどめざるを得ませんでした。

このような解像度の設定は、ゲームでは一般的です。もちろん、鏡のような表面を持つアセットで非常に鋭い反射を表現する必要がある場合は、HDRP アセットのリフレクションプローブの解像度を上げて、ローカルマシン上でリフレクションプローブを再ベイクして問題ありません。しかし、メモリへのパフォーマンスの影響は、解像度とプローブキャッシュのサイズに応じて明らかに増加します。

品質レベル

テンプレートには、さまざまなハードウェアで動作するように、複数の品質レベルが用意されています。Unity のメニューから、Edit > Project Settings > Quality と選択し、さらに Low、Medium、High の 3 つの設定から選択します。例えば、Low を選ぶと、フレームレートを最大化するためにボリューメトリックフォグが無効になります。一方、High を選ぶと、半影の近似によるソフトシャドウや、サンプル数を大きく取って描画されたエフェクトといった機能が有効化されます。

このプロジェクトでは、リアルタイムのライト、ライトマップ、ライトプローブを混ぜ合わせて使用されています。全体の構造と最もサイズの大きい部類のアセットは、GPU ライトマッパーを活用しています。そのため、ほとんどのライトは Mixed に設定されており、Baked Indirect モードを使用してライトのベイク結果を生成しています。これにより、直接照明とシャドウの描画が完全にリアルタイムのまま行われることを保証しつつ、柔らかい光の反射だけでなく、美しく滑らかなオクルージョンシャドウを実現します。

ライトプローブの可視化

対照的に、小さなオブジェクトは、計算時間のかかるライトマッピングによるアプローチではなく、シーン全体に分散したライトプローブのネットワークによって照らされています。小さいオブジェクトはライトプローブから GI を受けるだけにしたり、メッシュレンダラーのインスペクターウィンドウから設定して、GI に寄与しないようにしたりして、ベイクにかかる時間を最小限にすることを定石とすべきでしょう。

さらに、間接照明の品質をさまざまに変えて実験できるように、GPU ライトマッパーのライトベイクの設定に関して複数のプリセットを提供しています。これはメニューの Window > Rendering > Lighting を選択して、Lighting Settings アセットからアクセスすることができます。例えば、比較的安価な Geforce RTX 2070 Super を使用している場合、Draft プリセットを使うと 10 秒で結果を生成できますが、ベイク結果には滲みが見られます。これは反復修正を迅速に行いたいときに最適な設定です。一方、Ultra プリセットの設定を使えば、非常に美しいライトマップをわずか 4 分で得ることができます。これは製品に用いるレンダー結果を出力したいときに向く設定です。

ただし、お使いの GPU によって、得られる恩恵の大きさは変わってくるかもしれません。そのため、品質とベイク時間の両方に大きな影響を与えうるさまざまなパラメーター、特に Indirect Sample の数とテクセル密度について、さまざまな設定をお試しになることをお勧めします。

結言

HDRP の新機能が出てくると、テンプレートもその機能の使い方を紹介するために更新されていきます。今後の Unity と HDRP に関するリリースにご注目ください。近日行われる Unite Now 講演では、この新しいテンプレートにおけるライティングの設定、およびボリューム、露出、ライトマッパー、ポストプロセッシングエフェクトなど、数多くの HDRP 機能について詳しく説明します。また、このテンプレートのレイトレーシング効果を有効にして調整する方法をご紹介する NVIDIA ウェビナーにもぜひご登録ください。このウェビナーにご登録の上、ご参加いただくと、抽選で NVIDIA Quadro RTX 5000 が当たります!

これらの講演やウェビナーが開催されるまでの間に、以前行った Unite Now セッション「Achieving high fidelity graphics for games with the HDRP」もご視聴いただければ幸いです。この講演では重要な HDRP の機能と、露出や光の強度などの物理的な概念について解説しています。また、ブログ記事「HD レンダーパイプラインの学習リソースに触れて、驚くように美しいグラフィックスを作り出そう」で、さまざまな HDRP の学習に役立つリソースをご紹介しています。

この新しいテンプレートが皆さんの学びに役立てば幸いに思います。また、皆さんがどのようにこのテンプレートで実験を行うか、拝見できることを楽しみにしております。

著者について

Pierre Yves Donzallaz は、この記事の執筆時点において、R&D のグラフィックスチームでテクニカルアートディレクターを務めています。彼はリアルタイムレンダリングの分野で 10 年以上、AAA クラスの現場で経験を積んできた経験豊富なライティングアーティストです。彼は技術的にも芸術的にも優れた経歴を持ち、ライティング、ステージのビューティフィケーション、UX、ツール設計、ワークフローの改善に関して専門的な知見を有しています。

Crysis』シリーズ、『Ryse: Son of Rome』、『 Grand Theft Auto V』、『 Red Dead Redemption 2』など、高い評価を受けているゲームや大規模な AAA クラスの作品を手掛けています。.

現在は Unity の R&D のグラフィックスチームのメンバーとして、アーティストの効率を向上させ、世界中のユーザーを教育し、エンジニアやデザイナーと協力して、新しいツール、ワークフロー、グラフィック関連機能を開発することを使命とするフェローテクニカルアーティストのチームを率いています。

10 replies on “新しい HDRP シーンテンプレートを探検して、学習や制作に活用しよう”

is there a reason that VR (Oculus Rift S) does not work in 2020.2? I just wanted to checkout the new template but it does not work. Did the VR implementation process compared to 2020.1.17 somehow change?

It doesn’t yet, but Nature Renderer does. Need to use an optimized grass shader to make the most out of it.

It doesn’t yet but Nature Renderer does. To be fair the old system ran entirely on the main thread which caused huge lag spikes. Probably looking to replace that first.

It really is a nice upgrade from the construction site. Still, I’d love for that template to have a quick and easy way to use DXR / raytracing. The construction site sample was easy to port over to DXR while this one is much trickier because of light probes and so on.

Great explanation. Always like to learn from “Pierre Yves”. The new HDRP template is really amazing. Looking forward for the upcoming NVIDIA webinar about ray tracing.

Using HDRP 10.2.2 the Autodesk shader is using a deprecated emissive mode and it makes impossible to change the emission color (making the shader unusable).
Thanks.

Comments are closed.