Search Unity

HDRP:2019.3 でプレビュー版から検証済みバージョンへ

, 2月 24, 2020

HDRP パッケージがバージョン 7.2.0 でプレビュー版ではなくなり、製品への導入について「検証済み」の状態となりました。これは安定性、プラットフォームサポート、およびアップグレードパスが保証された状態になったことを意味します。

HDRP パッケージはバージョン 7.2.0 で、プラットフォームサポートと移行パスが保証された状態になりました。HDRP パッケージには、成熟したデバッグツール、パフォーマンスを完全にコントロールするためのすべてのプラットフォームのためのスケーラブルな設定、拡張性のオプション、そして様々なアーティストツールが含まれています。そして何よりも、今すぐに使い始めることができます。

HD レンダーパイプライン(HDRP)は、高精細でフォトリアリスティックなビジュアルを作成するために、ハイエンド PC、ハイエンドの Mac、およびハイエンドコンソール(Xbox One と PlayStation 4)をターゲットにしています。2019.3 のバージョン 7.2.0 のパッケージで、HDRP は検証済みに移行しました。

そのデザインは 3 つの原則に従っています。

  1. レンダリングは物理ベースに。
  2. ライティングは統一され(unified)、一貫性のあるもの(coherent)とすること。
  3. 各機能はレンダリングパスとは独立して機能すること。

物理ベースのレンダリングは、ライティング、マテリアル、カメラの 3 つの柱に依存しています。ライティングとマテリアルは物理的な相互作用に依存しており、さまざまな照明条件の下で一貫性のある結果を得るためには、それらを明確に分離する必要があります。カメラは、結果として得られたライティングを解釈してスクリーンに表示します。その目的は、アーティストがより簡単にリアリスティックな結果を得られるようにすることです。

統一されたライティングとは、シーン内のすべてのオブジェクトとそこに存在している媒体が同じ照明を受けることを意味します。不透明、透明、ボリュームのある素材の区別があってはなりません。また、一貫性のあるライティングとは、デカールなどで変更された場合でも、マテリアルがあらゆるソース(リフレクションプローブ、エリアライトなど)で生成された照明と必ず正しく相互作用することを意味します。その結果、よりまとまりのある外観が得られます。

リアルタイムレンダリングでは、様々なレンダリングパスを使用します。ディファード/フォワード、シングルパス/マルチパス、タイル/クラスターの各組み合わせによるパスがあります。ゲーム開発では、選択したレンダリングパスによって使用できるグラフィック機能が制限されることがよくあります。HDRP では、どのようなレンダリングパスを選択しても、同じグラフィック機能が利用できます。つまり、パフォーマンス要件のみに基づいてレンダリングパスを選択することができ、使用したいグラフィック機能によってパフォーマンスが制約されることはありません。

機能の概要

HDRP は、組み込みのレンダーパイプラインよりも多くのレンダリングの課題に取り組むことができるグラフィック機能セットを備えています。特に、このパッケージは、マテリアルの品質を扱うための以下の高度な機能を提供します。

  • Lit シェーダー
    • サブサーフェススキャッタリング透過性は、表面下の領域内を透過して移動する光をシミュレートします。皮膚や植物の葉のような有機的なマテリアルを作るために使用します。
    • クリアコーティングは、標準的な層の上に薄い半透明の層を重ねた材料をシミュレートします。これを使用して、車の塗料、ソーダ缶、またはガラス張りのオブジェクトなどの多層的なマテリアルを作成します。
    • 異方性は、オブジェクトに沿った方向によって特性が変化するマテリアルをシミュレートします。これらの表面には、異なる角度から見たときに変化するハイライトがあります。これを使って、ブラシをかけた金属、ベルベット、結晶などの異方性材料を作成します。
    • イリデッセンスは、異なる角度から見たときに色が変わって見える材料をシミュレートします。シャボン玉、虫の羽、貝殻などを作ります。

  • LayeredLit シェーダーを使って、最大 4 つのマテリアルを重ねることができます。これにより、マテリアルを重ねてブレンドすることで、リアルで多様なビジュアルを実現できます。フォトグラメトリのワークフローでお使いください。

  • Fabric シェーダーは、リアリスティックな衣類のマテリアルをシミュレートします。コットンウール、シルク、サテンを作成するのに使用します。

  • Hair シェーダーは、髪の繊維の中を透過して移動する光をシミュレートします。このシェーダーはエネルギー保存則によく従う、改良された Kajiya-Kay ライティングモデルを使用しています。

  • StackLit シェーダーは、パフォーマンスよりも品質を優先して Lit シェーダーを改良したものです。このシェーダーは、Lit シェーダーよりも正確にサーフェスをコーティングし、Lit シェーダーとは異なり、異方性、サブサーフェススキャッタリングによるイリデッセンス、Hazy Parametrization などの複数のマテリアル機能を同時に使用することができます。

  • Decal シェーダーを使うと、シーン内のサーフェスにデカールを配置することができます。プロジェクターデカールとメッシュデカールの両方をサポートしています。

このパッケージは、高度なライティング機能をサポートしています。

  • すべてのライトに光に関する物理的単位を適用しています。HDRP のライトタイプ、空や発光設定は光に関する物理的単位を使用しています。これは、最も現実に即した方法でシーンを照らすのに役立ちます。また、一貫性を実現しやすくなるため、シーンライトのリギングワークフローが改善されます。サポートされている単位には、ルーメン、カンデラ、ルクス、ニッツ、EV100 などがあります。また、色温度を有効にすることもできます。
  • エリアライトは、方形のライト、チューブライト(実行時のみ)、円盤型のライト(フルベイクのみ)をサポートし、発光は、表面からの発光を全方向に均一にシミュレートします(ベイクのみ)。

  • PCF フィルタリングによる規則的なシャドウ、PCSS フィルタリングによるカスケードシャドウ、指数シャドウマップによるエリアライトのシャドウなど、さまざまなシャドウが用意されています。さらに、コンタクトシャドウやマイクロシャドウを使って、シャドウ表現を強化することができます。

  • Physically Based Sky は、2 つの部分からなる大気を持つ球状の惑星をシミュレートします。論文「Precomputed Atmospheric Scattering」(Bruneton and Neyret, 2008)で概説されている手法の実用的な実装で、バックプレートモードを持つ HDRI SkyGradient Sky を搭載しています。

  • フォグは、あなたのシーンで高さのあるグローバルな指数フォグとして設定することができ、ボリューメトリックな照明と局所的なフォグで表現を強化することができます。

  • スクリーン空間でのライティングエフェクトについて、Ground Truth Ambient Occlusion(GTAO)とスクリーンスペースリフレクション(SSR)が HDRP で標準となっています。

  • アーティスト向けの新しい機能は、物理学の法則にとらわれることなく、創造性を発揮することを可能にします。Light レイヤーを追加してライトの一部が特定のメッシュにのみ影響を与えるようにしたり、Shadow レイヤーを追加していくつかのメッシュが特定のライトに対してのみ影を落とすようにしたりということが可能になりました。また、半影とシャドウティントのコントロールも追加しました/span>

  • シャドウマットは、Unlit シェーダーグラフのマスターノードのモードの 1 つです。このモードでは、シェーダーが受け取るシャドウの量に応じて、シェーダーの不透明度を調整することができます。そして、影がついた部分の色を選び、その結果を Unlit の画像やビデオの上に合成することができます。

ボリュームシステムを使用したポストプロセッシングが組み込みで実装されています。ポストプロセッシングについては、物理カメラの設定により、被写界深度や露出などのエフェクトの一部を、標準的な物理的設定(焦点距離、絞りなど)の単一のセットで制御できるようになっています。コントラスト適応シャープ化(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 と互換性を持たせるためのパーティクルシステムシェーダー、マテリアルのサンプルセットが含まれています。

HDRP パッケージのサンプルコンテンツ。Fabric シェーダーと Hair シェーダー

最後に、Render Pipeline Debug では、ディファードレンダリングパスまたはフォワードレンダリングパスのどちらかで作業しているとき、不透明なマテリアルと透明なマテリアルの両方について、マテリアルのプロパティをすべて表示します。ディフューズライトのみ、スペキュラーライトのみ、シャドウなど、様々な照明を表示することができます。また、法線、アルベド、滑らかさなど、シーン全体のプロパティをオーバーライドすることもできます。モーションベクター、デプスバッファなどの中間的なレンダリングターゲットを表示することもできます。アーティストにとって非常に重宝なツールであり、Unity エディターでも、それ以外のあらゆるプレイヤー(PS4 など)でも動作します。

MatCap モードは、オブジェクトのマテリアルと照明をシンプルな環境テクスチャに置き換えます。このモードは、シーンのライティングを設定することなく、シーンの中を動きまわって、様子を把握するのに便利です。例えば、洞窟の中のような、照明が弱くて暗く、中を動き回ることが難しいエリアを編集するときにこのモードを使用することができます。

HDRP の拡張性

HDRP には多くのパスが含まれていて、それに変更を加えるのは厄介ですが、コードを変更せずに新しいパスを追加する方法があります。

Custom Pass の主な用途は、エフェクトやカスタムコードをレンダーループに注入することです。Custom Pass を使うと、HDRP バッファにアクセスして、フレーム内の特定のポイントで変更することができます。Custom Pass は、ポストプロセスと同じボリュームシステムの原理を使用しますが、より多くの制限があります(プロファイルアセットに依存せず、補間もできません)。Custom Pass を使用するには、ある程度の C#スクリプトとシェーダーオーサリングが必要です。

こちらは、 Custom Pass で実現できるエフェクトの例です。

Custom Pass を使用したアニメーションエフェクトの例

詳細については、Custom Pass のドキュメントを参照するか、Custom Pass を使用して作成したエフェクトの詳細を確認してください。

Custom Post Processes を使用すると、独自のポストプロセッシングエフェクトを作成することができます(Custom Post Processes は、組み込みのレンダーパイプラインの Volume コンポーネントを介したポストプロセシングスタックによく似ています)。これらはボリュームシステム内に統合されており、このシステムのブレンディングとオーバーライドの恩恵を受けます。カスタムのポストプロセスエフェクトを作成するシェーダーを作成し、それを Volume コンポーネントにリンクするのです。

サポートされているプラットフォーム

2019.3 では、以下のプラットフォームに対応しています。

  • PC(Vulkan / DirectX 11)
  • PC DX12 in Preview(DirectX Raytracing 用)
  • Mac(Metal)
  • PlayStation 4(Base および Pro)
  • Xbox One(Base、Scorpio、および X)
  • Oculus Rift および Rift S(Oculus XR プラグイン、Windows 10、DirectX 11)
  • Windows Mixed Reality(Windows XR プラグイン、Windows 10、DirectX 11)
  • PlayStationVR
  • Open VR*

注:Valve は現在、Unity 2019.3 以降向けの OpenVR Unity XR プラグインを開発中です。

「検証済み」の意味

HDRP は 2 年前から開発を続けており、皆様からのフィードバックに基づいて機能を拡張してきました。その間に、レイトレーシングをサポートするコンシューマー向けハードウェアの一部がより手頃な価格になり、コードベースも進化してきました。

HDRP パッケージのバージョン 7.2.0 は現在「検証済み」です。これは、安定性、プラットフォームサポート、アップグレードパスを保証することを意味します。皆さんのプロジェクトデータとコードを将来のバージョンに安全に移行することができるようにしつつ、Unity はこれらの機能の開発と拡張を続けていくということです。すべての機能はここに文書化されています。

この場合、検証済みということは、成熟したデバッグツール、パフォーマンスを完全にコントロールするためのすべてのプラットフォーム用のスケーラブルな設定、拡張性のオプション、様々なアーティストのツールが付属していることも意味します。これらの利点についてさらに知りたい方は、この先をお読みください。

HDRP で自分の道を見つける

長年 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 シーンプレハブを提供します。

レンダーパイプラインウィザード

HD レンダーパイプラインの未来

HDRP の将来のバージョンでは、パフォーマンスとビルド時間の改善に焦点を当てます。既存の機能(SSR、エリアライト、ボリュームライトなど)の品質とサポートを向上させ、より多くのオプションとともにそれらを拡張する予定です。エディターでのアーティストのワークフローの改善に引き続き取り組み、特にアニメーター、タイムラインCinemachine、Preset などの機能との連携を改善していきます。

また、DOTS テクノロジーを最大限に活用できるように取り組んでいきます。

加えて、バージョン 7.2.0 の HDRP には、リアルタイムのレイトレーシングサポートのプレビューが含まれていますが、これについては別のブログ記事で説明します。レイトレーシングは、Unity としても引き続き開発していく技術です。

HD レンダーパイプラインとユニバーサルレンダーパイプライン

HDRP はユニバーサルレンダーパイプライン/span>に取って代わるものではなく、またこれを包括するものでもありません。

HDRP は最先端のグラフィックを提供します。HDRP は、ハイエンドのハードウェア上でグラフィックを売りにしたソフトウェアを開発しようとしている場合に最適な選択です。ただし、ユニバーサルレンダーパイプラインに比べて複雑さが増し、サポートされるプラットフォームが限られています。

ユニバーサルレンダーパイプラインは、Unity の将来のデフォルトのレンダーパイプラインとすることを目指しています。「一度開発すれば、どこにでもデプロイできる」がスローガンです。より柔軟性が高く、拡張性が高く、HDRP と同様に、組み込みのレンダーパイプラインよりも高いパフォーマンスを提供し、グラフィックの品質も向上しています。

これらの違いを考慮して、プロジェクトの機能とプラットフォームの要件に応じて使用するレンダーパイプラインを選択してください。

HDRP の使用を開始する

ゲームや VR プロジェクトを含む、いくつかの高度なグラフィックを特徴とする作品の制作が HDRP で進められています。Unity でも、Unity Japan のオフィスを HDRP でレンダリングしたプロジェクトを制作し、公開しています。このプロジェクトを通じて、建築、エンジニアリング、建設(AEC)業界が HDRP が実現する写実性をどのように活用できるかをご覧いただけます。

この他のサンプルプロジェクトとして、「Fontainebleau」と「The Spaceship」もチェックしてみてください。

HDRP の機能と、HDRP を最大限に活用する方法についてもっと知りたい方は、以下のブログ記事をチェックしてください。ですが、まずはこちらの Unity フォーラムの投稿を詳しく読むことをおすすめいたします。

今日から皆さんのプロジェクトで HDRP を活用することができます。そして、皆さんが HDRP を活用して制作を進めている間も、Unity のチームは開発を続けます。HDRP フォーラムでフィードバックをお送りください。

13 replies on “HDRP:2019.3 でプレビュー版から検証済みバージョンへ”

Will HDRP support Nintendo Switch some day or not ? And maybe some next gen console ;) ?

As of today Switch is still not supported. Can’t comment for the future for now sorry.

I miss the keywords “terrain” and “vegetation” in that article, especially vast terrain. Fontainebleau is a sight for the eyes, but same as Book of the Dead it isn’t for real open world and instead rather close distance. Is HDRP not intended to be used in open world games? However the title picture seems to prove me wrong. It would be nice to have an example showcase with source from Unity for open world games :-)

It’s time to update the Icon Collective and Snap assets to support HDRP 7.2.0. We have waited patiently for too long.

Hi, everything is on the roadmap but we don’t have ETA to provide.
except this one:
>GetMain/AdditionalLights as built-in nodes so we don’t have to write custom functions every time
There is no plan for this for HDRP and you can’t access it even with custom functions, it will not work in deferred mode. The light list is build after the Gbuffer.

“Features function independently of the rendering path.”
Does that mean all Anti-aliasing techniques work on both Deferred and Forward?

Can you comment on the status/plans for these absent Shader Graph features:
– Tessellation
– Terrain MasterNode
– UI masternode
– public Node API so we can create custom Master Nodes
– GetMain/AdditionalLights as built-in nodes so we don’t have to write custom functions every time
– When will the Add Node menu be instantaneous and not take 1 entire second to pop up?

I started a thread on the topic if someone wants to answer there instead: https://forum.unity.com/threads/shadergraph-updates-on-roadmap-long-requested-features.833179/

I noticed that Linux is not in the list pf supported platforms. Why is that?

Linux is still in preview and should be out of preview in 2020.1. Only from that we can mention it for HDRP

Very excited to start using this. We wanted to start using the HDRP and shadergraph but SG did not support tessellation , is tessellation now supported in SG or if not will it. Our project simply cant used HDRP without SG tessellation support

Comments are closed.