Scene Depth ノード
説明
入力 UV (正規化スクリーン座標が想定されます) を使用して、現在のカメラ (Camera) の深度バッファへのアクセスを提供します。
ノート: 深度バッファにアクセスするには、アクティブなレンダーパイプラインで深度バッファを有効にする必要があります。このプロセスはレンダーパイプライン毎に異なります。アクティブなレンダーパイプラインに関するドキュメンテーションで、深度バッファの有効化に関する詳細情報を参照してください。深度バッファが使用できない場合、このノード は標準的な灰色を返します。
ノート: このノード 用に実行される HLSL コードはレンダーパイプライン毎に定義され、レンダーパイプラインによって、もたらされる結果が変わる可能性があります。カスタムのレンダーパイプラインにこのノード をサポートさせたい場合も、このノード用の動作を明示的に定義する必要があります。この ノード は、未定義の場合には 1 (白) を返します。
注意: この ノード は、Fragment シェーダーステージ でのみ使用可能です。
対応の Unity レンダーパイプライン
- HD レンダーパイプライン
- ユニバーサルレンダーパイプライン
ポート
Name | Direction | タイプ | バインディング | 説明 |
---|---|---|---|---|
UV | 入力 | Vector 4 | Screen Position | 正規化されたスクリーン座標 |
Out | 出力 | Vector 1 | なし | 出力値 |
深度抽出モード
Name | 説明 |
---|---|
Linear01 | リニア深度値 (0 - 1 の間) |
Raw | Raw 深度値 |
Eye | 視点座標単位に変換された深度 |
生成されるコードの例
以下のサンプルコードは、このノードの出力の一例を示したものです。
void Unity_SceneDepth_Raw_float(float4 UV, out float Out)
{
Out = SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV);
}