URP 12 (Unity 2021.2) の新機能
このセクションでは、URP 12 の新機能、改善点、修正済の問題について説明します。
URP 12 における変更点の完全なリストについては、Changelog を参照してください。
機能
このセクションでは、このリリースの新機能の概要を説明します。
シーンビューデバッグモード
このリリースでの改善点により、URP の シーンビューデバッグモード とビルトインレンダーパイプラインで利用できるオプションが同等に近づきました。今回のリリースでは、Render Pipeline Debug ウィンドウも URP の新しいデバッグワークフローとして含まれるようになりました。ユーザーは Debug ウィンドウを使用して、レンダリングされるマテリアルのプロパティ、これらのマテリアルとライトの相互作用、最終フレームを生成するためのシャドウと LOD の処理方法を確認できます。
リフレクションプローブのブレンディングとボックス投影のサポート
このイラストは、リフレクションプローブを使用して実装されたリフレクションを示しています。
リフレクションプローブのブレンディングとボックス投影のサポートが追加されたことにより、プローブを使用したリフレクションの品質が向上し、URP とビルトインレンダーパイプラインの機能が同等に近づきました。
URP のリフレクションプローブについて詳しくは、リフレクションプローブ のページを参照してください。
URP のディファードレンダリングパス
ディファードレンダリングパスを使用したシーンのサンプル。
URP のディファードレンダリングパスは、すべての頂点シェーダーとピクセルシェーダーがレンダリングされた後に、別のレンダリングパスのスクリーンスペース内でライトシェーディングを実行するレンダリング手法を採用しています。ディファードシェーディングではシーンのジオメトリがライティングの計算から切り離されるため、それぞれのライトのシェーディングは、それが実際に影響を与える可視ピクセルに対してのみ計算されます。このアプローチにより、オブジェクトごとのフォワードレンダリングと比較して、はるかに多くのライトを効率的にシーンにレンダリングできます。
この機能の詳細については、ディファードレンダリングパス のページを参照してください。
URP のデカールシステム
シーン内の Decal Projector。
新しいデカールシステムを使用すると、シーンのサーフェスにデカールマテリアルを投影できます。シーンに投影されたデカールはメッシュを包み、シーンのライティングと相互作用します。デカールはシーンにより豊かな質感を加え、特にマテリアルの繰り返しや詳細なパターンを目立たなくするのに便利です。
この機能の詳細については、Decal Renderer Feature のページを参照してください。
深度プレパス (Depth Priming Mode)
このリリースでは深度プレパスのサポートが追加されました。深度プレパスとは、すべての不透明な可視メッシュをレンダリングして深度バッファを生成するレンダリングパスです (フラグメントのシェーディングコストは発生しません)。この深度バッファは後続のカラーパスで再利用できます。深度プレパスは、ジオメトリレンダリングのオーバードローを解消または大幅に削減します。
深度プレパスを有効にするには、Depth Priming Mode を Auto または Forced に設定します (URP Asset > Rendering > Rendering Path, Forward > Depth Priming Mode)。
Depth Priming Mode プロパティ。
URP ライトクッキー
URP ライトクッキー 機能は、出射する光の強度をマスキングまたはフィルタリングして、パターンの付いた照明を実現する手法です。この機能は、キャストライトの外観、形状、強度を変更してアーティスティックな効果を実現したり、ランタイムのパフォーマンスへの影響を最小限に抑えながら複雑なライティングシナリオを再現したりするために使用できます。
レンダーパイプラインコンバータ
ビルトインレンダーパイプラインから URP に移行するための新しいコンバータフレームワークにより、移行プロセスがより堅牢になり、マテリアル以外の要素を変換できるようになりました。
Render Pipeline Converter ウィンドウを開くには、Window > Rendering > Render Pipeline Converter の順に選択します。
詳しくは、レンダーパイプラインコンバータ のページを参照してください。
モーションベクトル
モーションベクトルに対応したことで、あるフレームから別のフレームへのオブジェクトのスクリーンスペースモーションをピクセル単位でキャプチャして保存する、速度バッファを利用できるようになりました。
URP のボリュームシステム更新頻度
URP のボリュームシステム更新頻度を調節することで、コンテンツやターゲットプラットフォームの要件に応じて、ボリュームフレームワークのパフォーマンスを最適化できます。
URP グローバル設定
URP Global Settings (URP グローバル設定) セクションでは、プロジェクト全体の URP の設定を定義できます。このリリースでは、URP Global Settings にライトレイヤーの名前が含まれています。
ライトレイヤー
ライトレイヤーを使用すると、シーン内の特定のライトをマスキングして、特定のメッシュに影響を与えることができます。特定のレイヤーに割り当てられたライトは、同じレイヤーに割り当てられたメッシュにのみ影響します。
詳細については、ライトレイヤー のページを参照してください。
新しい URP Package Samples
URP の新しいサンプルはパッケージマネージャーで入手できます。これらのサンプルでは、URP 機能のユースケース、機能の設定、実用的な適用例を 1 つまたは複数のシーンで確認できます。
ノート: 現在の URP バージョンでは、レンダリングエフェクトが正常に機能しなくなる既知の問題が確認されています。この問題の詳細と修正方法については、こちらのリンクを参照してください。
レンズフレアシステム
レンズフレアを使用した URP シーンのサンプル。
このバージョンには新しいレンズフレアシステムが導入されています。レンズフレアは、カメラのレンズ内で屈折した光のエフェクトを再現するものです。非常にまぶしい光を表現したり、さりげなくシーンに雰囲気を加えたりするのに使われます。新しいシステムでは、ビルトインレンダーパイプラインに搭載されているものと同様にフレアを重ねることができ、ユーザーインターフェースが改良され、多くのオプションが追加されています。
Enlighten のリアルタイム GI
Enlighten のリアルタイム GI を使用したシーンのサンプル。
Enlighten のリアルタイム GI により、シーンのグローバルイルミネーションに影響を与える動くライトなど、より動的なライティングエフェクトをプロジェクトで利用することができます。Enlighten のリアルタイム GI の対応プラットフォームが拡大し、Apple Silicon、Sony PlayStation(R) 5、Microsoft Xbox Series X|S の各プラットフォームに対応するようになりました。
SpeedTree 8 の植生機能
このリリースでは、URP で SpeedTree 8 の植生機能 (SpeedTree の風システムを使った植生のアニメーションを含む) がサポートされるようになりました。URP はシェーダーグラフを使用して SpeedTree 8 をサポートします。詳細については、SpeedTree のサブグラフアセット のページを参照してください。
シェーダーグラフ: マテリアルのオーバーライドのプロパティ
このリリースでは、URP をターゲットとするシェーダーグラフスタックに Allow Material Override プロパティが追加されました。このプロパティは Lit および Unlit マテリアルタイプで利用できます。
このプロパティを有効にすると、マテリアルの特定のサーフェスプロパティをオーバーライドできます。このリリースの前までは、これらのプロパティはシェーダーグラフで設定していました。
改善点
このセクションでは、このリリースの主な改善点の概要を説明します。
SSAO の改良
このリリースでは SSAO について以下の改良が行われています。
SSAO がディファードレンダリングパスに対応。
法線マップがエフェクトに影響。
SSAO がパーティクルシステムと Unlit シェーダーを利用するサーフェスに対応。
パフォーマンスが向上。
SRP 設定ワークフローの改良
SRP 設定ワークフローの改良は、ワークフローを変化させ、SRP のレンダーパイプライン間で一貫性を持たせることを目的とした、一連の UI/UX の改良を指します。今回のイテレーションでは、主に URP と HDRP の間でライトとカメラのコンポーネントを一致させることに重点が置かれています。今回の変更内容には、ヘッダーのデザイン、サブヘッダーのデザイン、エキスパンダー、設定の順序、ネーミング、依存フィールドのインデントの調整などが含まれます。これらの多くは見た目の変更に過ぎませんが、大きな影響力があります。
MSAA を有効にして深度バッファをより最適に処理
以前は MSAA を有効にすると、Unity は追加の深度プレパスを実行して深度バッファを生成していました。 このリリースでは、MSAA を有効にしても Unity は追加の深度プレパスを実行することなく、代わりに不透明なパスから深度テクスチャを再利用します (ノート: この機能は GLES3 以外のすべてのプラットフォームで有効です)。
SwapBuffer
このリリースでは、ユニバーサルレンダラーはバックエンドでカメラの複数のカラーバッファを管理および操作できます。
スクリプタブル Renderer Feature で新しい ScriptableRenderPass.Blit メソッドを使用して、自分自身でカメラのカラーバッファを管理/処理することなく、カラーバッファにエフェクトを適用できるようになりました。このメソッドを使用して、カメラのカラーバッファに対する読み出しと書き込みを行えるエフェクトを記述できます。
URP 2D Renderer の改良
このリリースでは URP 2D Renderer について以下の改良が行われています。
URP の新しいシーンビューデバッグモードにより、2D 開発者は Mask、Alpha channel、Overdraw、Mipmaps などのビューにアクセスできるようになりました。スプライトマスク機能が調整され、SRP で正しく動作するようになりました。
Renderer Feature を使用して 2D Renderer をカスタマイズし、カスタムパスを追加できるようになりました。
2D Lights が Light Explorer ウィンドウに統合され、Experimental (実験的) というラベルが外れました。
2D シャドウの最適化。
2D Lights で生成された 2D Light テクスチャに、シェーダーグラフの 2D Light Texture ノードからアクセスできるようになりました。
Visual Effect Graph が 2D Unlit シェーダーに対応するようになりました。
2D URP の新しいデフォルトテンプレートが追加されました。これには一連の検証済みの 2D ツールが含まれているため、新しいプロジェクトのロードがより高速になり、すべての 2D ツールセットを自由に活用できます。
スプライトアトラス v2 とフォルダーのサポート。
単一スプライト用の複数のアトラスで重複したスプライトを見つけるための新しい API、MasterAtlas および IsInBuild 用のクエリ。
2D Pixel Perfect の Inspector UI の設定表示がより直感的になりました。
2D PSD Importer の UX がさらに改良され、Photoshop レイヤーの制御性が向上し、スプライト名のマッピング機能が追加されました。
2D Animation のアップデートにはボーンカラーが含まれ、これを視覚化設定のパネルで設定できるようになりました。
2D タイルマップの改良。
解決した問題
URP 12 で解決した問題の完全なリストについては、Changelog を参照してください。
既知の問題
URP 12 の既知の問題について詳しくは、既知の問題 セクションを参照してください。