HDRP パッケージがバージョン 7.2.0 でプレビュー版ではなくなり、製品への導入について「検証済み」の状態となりました。これは安定性、プラットフォームサポート、およびアップグレードパスが保証された状態になったことを意味します。
HDRP パッケージはバージョン 7.2.0 で、プラットフォームサポートと移行パスが保証された状態になりました。HDRP パッケージには、成熟したデバッグツール、パフォーマンスを完全にコントロールするためのすべてのプラットフォームのためのスケーラブルな設定、拡張性のオプション、そして様々なアーティストツールが含まれています。そして何よりも、今すぐに使い始めることができます。
HD レンダーパイプライン(HDRP)は、高精細でフォトリアリスティックなビジュアルを作成するために、ハイエンド PC、ハイエンドの Mac、およびハイエンドコンソール(Xbox One と PlayStation 4)をターゲットにしています。2019.3 のバージョン 7.2.0 のパッケージで、HDRP は検証済みに移行しました。
そのデザインは 3 つの原則に従っています。
物理ベースのレンダリングは、ライティング、マテリアル、カメラの 3 つの柱に依存しています。ライティングとマテリアルは物理的な相互作用に依存しており、さまざまな照明条件の下で一貫性のある結果を得るためには、それらを明確に分離する必要があります。カメラは、結果として得られたライティングを解釈してスクリーンに表示します。その目的は、アーティストがより簡単にリアリスティックな結果を得られるようにすることです。
統一されたライティングとは、シーン内のすべてのオブジェクトとそこに存在している媒体が同じ照明を受けることを意味します。不透明、透明、ボリュームのある素材の区別があってはなりません。また、一貫性のあるライティングとは、デカールなどで変更された場合でも、マテリアルがあらゆるソース(リフレクションプローブ、エリアライトなど)で生成された照明と必ず正しく相互作用することを意味します。その結果、よりまとまりのある外観が得られます。
リアルタイムレンダリングでは、様々なレンダリングパスを使用します。ディファード/フォワード、シングルパス/マルチパス、タイル/クラスターの各組み合わせによるパスがあります。ゲーム開発では、選択したレンダリングパスによって使用できるグラフィック機能が制限されることがよくあります。HDRP では、どのようなレンダリングパスを選択しても、同じグラフィック機能が利用できます。つまり、パフォーマンス要件のみに基づいてレンダリングパスを選択することができ、使用したいグラフィック機能によってパフォーマンスが制約されることはありません。
HDRP は、組み込みのレンダーパイプラインよりも多くのレンダリングの課題に取り組むことができるグラフィック機能セットを備えています。特に、このパッケージは、マテリアルの品質を扱うための以下の高度な機能を提供します。
このパッケージは、高度なライティング機能をサポートしています。
ボリュームシステムを使用したポストプロセッシングが組み込みで実装されています。ポストプロセッシングについては、物理カメラの設定により、被写界深度や露出などのエフェクトの一部を、標準的な物理的設定(焦点距離、絞りなど)の単一のセットで制御できるようになっています。コントラスト適応シャープ化(CAS)アップスケーリング効果も利用できます。最後に、ポストプロセッシングではアルファチャンネルをサポートしていますが、被写界深度のような効果とともにアルファチャンネルを使用し、さらに合成を行うには、カラーパイプラインを float16 RGBA に切り替える必要があります。
このパッケージで利用可能なポストプロセッシングエフェクトの概要と実行順序については、マニュアルを参照してください。
もう 1 つの利点は、HDRP が CPU レンダリングを高速化するために SRP Batcher を使用していることです。
組み込みのレンダリングパイプラインと HDRP の機能を詳しく見るには、 比較表を参照してください。
製品開発に導入できるようにするためには、レンダーパイプラインで、アーティストが創造性を発揮するためのツールを提供する必要があります。HDRP は、検証済みに移行したビジュアルエフェクトグラフとシェーダーグラフを搭載しており、アセットワークフローのための Look Dev や、バックプレートの使える HDRI Sky のような新しいツールを提供します。
前述したように、HDRP は物理ベースのレンダリングを前提に構築されています。このおかげで、正しくオーサリングされたマテリアルは、あらゆる照明条件で、自然な形で照明に反応するようになっています。
Look Dev ビューでは、いくつかの照明条件の下でアセットの見た目を素早くチェックすることができます。また、マテリアルの各コンポーネントをチェックできるいくつかのビューモードも用意されています。
HDRI イメージのライブラリを作成してから、アセットまたはプレハブをビューにロードします。ビュー内のイメージを切り替えたり、デバッグビューモードの 1 つを使用したりすることができます。また、画面分割ビューの表示を調整して、異なるアセット、照明条件、またはビューモードを比較することもできます。
Look Dev に加えて、HDRI Sky の高度なモードとしてバックプレートがあります。これは、HDRI イメージの底部を使用してテクスチャ化することができる仮想ジオメトリを作成し、端部でフェードすることができ、バックプレートを使っていない Unlit の HDRI Sky の上にシャドウマップをレンダリングすることもできます。
HDRP は、私たちの新しいノードベースのビジュアルエフェクトのためのオーサリングツールであるビジュアルエフェクトグラフのおかげで、高度なビジュアルエフェクトを作ることができます。使いやすく、柔軟性があり、パワフルです。生成されるビジュアルエフェクトは GPU パーティクルに依存しているため、GPU をフルに活用して大量のパーティクルをシミュレートして表示することができます。ノードグラフはエフェクトの細かい部分までのカスタマイズを可能にし、ゲームシステムとの相互作用に必要なプロパティを公開することができます。ビジュアルエフェクトグラフの詳細については、こちらのブログ記事をご覧ください。
シェーダーグラフは、ノードベースのシェーダーオーサリングツールです。HDRP と組み合わせて使うと、追加の機能が利用可能になります(多くの場合、HD というプレフィックスが付いています)。シェーダーグラフを使って、GI をオーバーライドしたり、頂点の法線や接線を編集したり、マテリアル品質をコントロールしたり、デプスオフセットを書き込む視差オクルージョンマッピングノードでシェーダーをレンダリングしたりすることができます。歪み、屈折、サブサーフェススキャッタリングなどのエフェクトを使用できます。また、Hair マスターノードや Fabric マスターノードを使って、シェーダー用の特定の HDRP ライティングモデルにアクセスすることもできます。
HDRP パッケージには、特定の機能の使い方を示すサンプルコンテンツが含まれています。パッケージには、Fabric 用のサンプルシェーダーと髪のシェーダーグラフ、カスタムスカイの例、ポストプロセッシング用のいくつかのテクスチャリソース、Shuriken と互換性を持たせるためのパーティクルシステムシェーダー、マテリアルのサンプルセットが含まれています。
最後に、Render Pipeline Debug では、ディファードレンダリングパスまたはフォワードレンダリングパスのどちらかで作業しているとき、不透明なマテリアルと透明なマテリアルの両方について、マテリアルのプロパティをすべて表示します。ディフューズライトのみ、スペキュラーライトのみ、シャドウなど、様々な照明を表示することができます。また、法線、アルベド、滑らかさなど、シーン全体のプロパティをオーバーライドすることもできます。モーションベクター、デプスバッファなどの中間的なレンダリングターゲットを表示することもできます。アーティストにとって非常に重宝なツールであり、Unity エディターでも、それ以外のあらゆるプレイヤー(PS4 など)でも動作します。
MatCap モードは、オブジェクトのマテリアルと照明をシンプルな環境テクスチャに置き換えます。このモードは、シーンのライティングを設定することなく、シーンの中を動きまわって、様子を把握するのに便利です。例えば、洞窟の中のような、照明が弱くて暗く、中を動き回ることが難しいエリアを編集するときにこのモードを使用することができます。
HDRP には多くのパスが含まれていて、それに変更を加えるのは厄介ですが、コードを変更せずに新しいパスを追加する方法があります。
Custom Pass の主な用途は、エフェクトやカスタムコードをレンダーループに注入することです。Custom Pass を使うと、HDRP バッファにアクセスして、フレーム内の特定のポイントで変更することができます。Custom Pass は、ポストプロセスと同じボリュームシステムの原理を使用しますが、より多くの制限があります(プロファイルアセットに依存せず、補間もできません)。Custom Pass を使用するには、ある程度の C#スクリプトとシェーダーオーサリングが必要です。
こちらは、 Custom Pass で実現できるエフェクトの例です。
詳細については、Custom Pass のドキュメントを参照するか、Custom Pass を使用して作成したエフェクトの詳細を確認してください。
Custom Post Processes を使用すると、独自のポストプロセッシングエフェクトを作成することができます(Custom Post Processes は、組み込みのレンダーパイプラインの Volume コンポーネントを介したポストプロセシングスタックによく似ています)。これらはボリュームシステム内に統合されており、このシステムのブレンディングとオーバーライドの恩恵を受けます。カスタムのポストプロセスエフェクトを作成するシェーダーを作成し、それを Volume コンポーネントにリンクするのです。
2019.3 では、以下のプラットフォームに対応しています。
注:Valve は現在、Unity 2019.3 以降向けの OpenVR Unity XR プラグインを開発中です。
HDRP は 2 年前から開発を続けており、皆様からのフィードバックに基づいて機能を拡張してきました。その間に、レイトレーシングをサポートするコンシューマー向けハードウェアの一部がより手頃な価格になり、コードベースも進化してきました。
HDRP パッケージのバージョン 7.2.0 は現在「検証済み」です。これは、安定性、プラットフォームサポート、アップグレードパスを保証することを意味します。皆さんのプロジェクトデータとコードを将来のバージョンに安全に移行することができるようにしつつ、Unity はこれらの機能の開発と拡張を続けていくということです。すべての機能はここに文書化されています。
この場合、検証済みということは、成熟したデバッグツール、パフォーマンスを完全にコントロールするためのすべてのプラットフォーム用のスケーラブルな設定、拡張性のオプション、様々なアーティストのツールが付属していることも意味します。これらの利点についてさらに知りたい方は、この先をお読みください。
長年 Unity をお使いになっているユーザーは、HDRP は組み込みのパイプラインのようなものではないことを理解する必要があります。アーティストとプログラマーの両方にとって、新しい学習曲線を必要とします。新しいパラダイムが導入され、新しいアーティストツール、新しい設定システム、新しいボリュームシステム、新しいシェーダーなどが導入されました。既存の組み込みパイプラインを使った Unity プロジェクトからの移行は簡単な作業ではなく、カスタムスクリプトの書き換え、カスタムシェーダーの書き換え、ライティングのやり直しが必要になり、場合によってはシーンの設定を 1 からやり直す必要があるかもしれません。
大きな変更点の 1 つは、このパイプラインがパッケージであることです。より多くのバグ修正を適用していただくために、お使いの Unity バイナリと互換性のある最新の利用可能なバージョンを常に使用することをお勧めします。バージョンはパッケージマネージャーのウィンドウで確認できます。
HDRP を使い始めるには、このドキュメントをチェックしてください。このドキュメントには、入門用のマニュアルや、組み込みパイプラインからのアップグレード方法、および以前の HDRP バージョンからのアップグレード方法など、役立つガイドが含まれています。
また、Unite や GDC などのイベントでの Unity チームのプレゼンテーションも参考にしてください。特に最近では、HDRP への入門的な講演と HDRP での VR サポートの講演を行いました。あるいは、HDRP のアーキテクチャ(「The Road towards Unified Rendering with Unity's High Definition Render Pipeline」)や、いくつかのエフェクトの実装方法(「Efficient Screen-Space Subsurface Scattering Using Burley's Normalized Diffusion in Real-Time」)について深く掘り下げて学ぶこともできます。
皆さんのジャーニーへの支援として、一般的なゲームやアプリだけでなく、VR やレイトレーシングも含め、皆さんのプロジェクトで適切な設定が確実に行えるように、HDRP ウィザードを提供しています。ウィザードはプロジェクトの設定を検証し、間違っている場合は修正することができます。また、組み込みパイプラインを使っているプロジェクトを変換し、新しいシーンを作成するための HDRP シーンプレハブを提供します。
HDRP の将来のバージョンでは、パフォーマンスとビルド時間の改善に焦点を当てます。既存の機能(SSR、エリアライト、ボリュームライトなど)の品質とサポートを向上させ、より多くのオプションとともにそれらを拡張する予定です。エディターでのアーティストのワークフローの改善に引き続き取り組み、特にアニメーター、タイムライン、Cinemachine、Preset などの機能との連携を改善していきます。
また、DOTS テクノロジーを最大限に活用できるように取り組んでいきます。
加えて、バージョン 7.2.0 の HDRP には、リアルタイムのレイトレーシングサポートのプレビューが含まれていますが、これについては別のブログ記事で説明します。レイトレーシングは、Unity としても引き続き開発していく技術です。
HDRP はユニバーサルレンダーパイプライン/span>に取って代わるものではなく、またこれを包括するものでもありません。
HDRP は最先端のグラフィックを提供します。HDRP は、ハイエンドのハードウェア上でグラフィックを売りにしたソフトウェアを開発しようとしている場合に最適な選択です。ただし、ユニバーサルレンダーパイプラインに比べて複雑さが増し、サポートされるプラットフォームが限られています。
ユニバーサルレンダーパイプラインは、Unity の将来のデフォルトのレンダーパイプラインとすることを目指しています。「一度開発すれば、どこにでもデプロイできる」がスローガンです。より柔軟性が高く、拡張性が高く、HDRP と同様に、組み込みのレンダーパイプラインよりも高いパフォーマンスを提供し、グラフィックの品質も向上しています。
これらの違いを考慮して、プロジェクトの機能とプラットフォームの要件に応じて使用するレンダーパイプラインを選択してください。
ゲームや VR プロジェクトを含む、いくつかの高度なグラフィックを特徴とする作品の制作が HDRP で進められています。Unity でも、Unity Japan のオフィスを HDRP でレンダリングしたプロジェクトを制作し、公開しています。このプロジェクトを通じて、建築、エンジニアリング、建設(AEC)業界が HDRP が実現する写実性をどのように活用できるかをご覧いただけます。
この他のサンプルプロジェクトとして、「Fontainebleau」と「The Spaceship」もチェックしてみてください。
HDRP の機能と、HDRP を最大限に活用する方法についてもっと知りたい方は、以下のブログ記事をチェックしてください。ですが、まずはこちらの Unity フォーラムの投稿を詳しく読むことをおすすめいたします。
今日から皆さんのプロジェクトで HDRP を活用することができます。そして、皆さんが HDRP を活用して制作を進めている間も、Unity のチームは開発を続けます。HDRP フォーラムでフィードバックをお送りください。