Version: Unity 6.0 (6000.0)
言語 : 日本語
2D ライトのタイプ
2D ライティング用のプロジェクトの準備

URP での 2D ライティングシステムの概要

ライティングされた 2D シーンを作成するためのツールとランタイムコンポーネントを紹介します。

これらのツールは、スプライトレンダラータイルマップレンダラースプライトシェイプレンダラーなどの 2D レンダラーとシームレスに統合できるように設計されています。このツールとコンポーネントのシステムは、モバイルシステムや、複数のプラットフォームでの実行に最適化されています。

3D ライトとの相違点

2D ライトと 3D ライトの実装と動作には、以下のような重要な違いがいくつかあります。

新しい 2D 固有のコンポーネントとレンダーパス

2D ライティングシステムには、2D ライティングと 2D レンダリング向けに特別に設計された独自の 2D ライトコンポーネント、シェーダーグラフサブターゲット、カスタム 2D レンダーパスのセットが含まれています。また、2D ライトとパス設定用のエディターツールも含まれています。

同一平面上

2D ライティングモデルは同一平面上にあるマルチレイヤーの 2D 世界で動作するように特別に設計されています。2D ライトでは、ライトとライティングされるオブジェクトの間で深度を分離する必要はありません。2D シャドウシステムも同一平面上で動作し、深度を分離する必要はありません。

非物理演算ベース

2D ライトのライティング計算は、3D ライトのような物理演算ベースの計算ではありません。ライティングモデルの計算の詳細については、以下で説明します。

3D ライトや 3D レンダラーとの相互運用性なし

3D ライトと 2D ライトは、それぞれ 3D レンダラーと 2D レンダラーにのみ影響を与えることができます。2D ライティングはメッシュレンダラーなどの 3D レンダラーには作用や影響を与えません。同様に、3D ライティングもスプライトレンダラーなどの 2D レンダラーには影響を与えません。現在、1 つのシーンで 2D ライトと 3D ライト、2D レンダラーと 3D レンダラーを組み合わせるには、複数のカメラを使用し、そのうち 1 つのカメラでレンダーテクスチャにレンダリングし、そのテクスチャを別のカメラでレンダリングしたマテリアルによってサンプリングします。

2D ライティングのグラフィックスパイプラインの技術的詳細

2D ライティングのグラフィックスパイプラインのレンダリングプロセスは、次の 2 つのフェーズに分けることができます。 1) ライトレンダーテクスチャの描画 2) レンダラーの描画

ライトレンダーテクスチャは、スクリーンスペースでのライトの色と形状に関する情報があるレンダーテクスチャです。

この 2 つのフェーズは、ライティングが他と異なるライトレイヤーのセットに対してのみ繰り返されます。つまり、ソートレイヤー 1 から 4 のライトのセットがまったく同じものである場合、上記の一連の処理は 1 回だけ実行されます。

デフォルトの設定を使用すると、レンダラーを描画する前に複数のバッチを先に描画し、ターゲットの切り替えを減らすことができます。最適な設定は、パイプラインですべてのバッチのライトレンダーテクスチャをレンダリングしてから、レンダラーの描画に進むことです。これにより、カラーターゲットのロードとアンロードを避けることができます。詳細については、最適化を参照してください。

準備フェーズ: ソートレイヤーバッチ処理の計算

レンダリングフェーズに進む前に、2D ライティングのグラフィックスパイプラインは、まずシーンを分析し、どのレイヤーを 1 回の描画処理でバッチ処理できるかを評価します。以下は、レイヤーをバッチ処理するかどうかを判断する基準です。 1. 連続したレイヤーである。 2. まったく同じライトのセットを共有しているレイヤーである。

ライトレンダーテクスチャの描画処理の回数を最小限に抑え、パフォーマンスを高めるために、できるだけ多くのレイヤーをバッチ処理することを強くお勧めします。

フェーズ 1: ライトレンダーテクスチャの描画

準備フェーズでバッチングを行った後、パイプラインはそのバッチのライトテクスチャを描画します。ここでは基本的にライトの形状をレンダーテクスチャに描画します。ライトの色と形状は、ライトの設定に応じて、加算ブレンドやアルファブレンドを使用してターゲットのライトレンダーテクスチャにブレンドできます。

ライトレンダーテクスチャは、少なくとも 1 つの 2D ライトがターゲットにしている場合にのみ作成されることに留意してください。例えば、レイヤーのすべてのライトが Blendstyle #1 のみを使用している場合、ライトレンダーテクスチャは 1 つだけ作成されます。

フェーズ 2: レンダラーの描画

すべてのライトレンダーテクスチャが描画されると、パイプラインはレンダラーの描画に進みます。システムは、どのライトレンダーテクスチャセットによってどのレンダラーセットが描画されたかを追跡します。これらは、準備フェーズのバッチ処理で関連付けられたものです。

レンダラーの描画中、パイプラインは利用できるすべての (各ブレンドスタイルに 1 つの) ライトレンダーテクスチャにアクセスできます。シェーダーでは、入力色とライトレンダーテクスチャの色を、指定された処理を使用して組み合わせ、最終的な色を計算します。

4 つのアクティブなブレンドスタイルの設定例です。複数のブレンドスタイルがどのように組み合わせられるかを示しています。ほとんどの場合、2 つのブレンドスタイルがあれば、目的の効果が得られます。

追加リソース

2D ライトのタイプ
2D ライティング用のプロジェクトの準備
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961