Scene Depth 节点
描述
允许使用输入 UV(应该是标准化的屏幕坐标)访问当前摄像机的深度缓冲区。
注意:若要访问深度缓冲区,需要在活动的渲染管线上启用深度缓冲区。此过程根据渲染管线而不同。建议阅读关于活动渲染管线的文档,了解有关启用深度缓冲区的信息。如果深度缓冲区不可用,则此节点将返回中灰色。
注意:此节点执行的 HLSL 代码是根据渲染管线定义的,不同的渲染管线可能会产生不同的结果。希望支持此节点的自定义渲染管线也需要显式定义其行为。如果未定义,此节点将返回 1(白色)。
支持的 Unity 渲染管线
- 高清渲染管线
- 通用渲染管线
端口
名称 | 方向 | 类型 | 绑定 | 描述 |
---|---|---|---|---|
UV | 输入 | 矢量 4 | 屏幕位置 | 标准化的屏幕坐标 |
Out | 输出 | Float | 无 | 输出值 |
深度采样模式
名称 | 描述 |
---|---|
Linear01 | 介于 0 和 1 之间的线性深度值 |
Raw | 原始深度值 |
Eye | 转换为眼睛空间单位的深度 |
生成的代码示例
以下示例代码表示此节点的一种可能结果。
void Unity_SceneDepth_Raw_float(float4 UV, out float Out)
{
Out = SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV);
}