Baked GI 节点
描述
允许访问顶点或片元位置的 Baked GI 值。对于光照探针采样,需要 Position 和 Normal 输入,并且对于所有潜在光照贴图采样情况,需要光照贴图坐标 Static UV 和 Dynamic UV。
注意:此节点的行为未在全局范围内定义。Shader Graph 未定义此节点的函数。但每个渲染管线都为此节点定义了要执行的 HLSL 代码。
不同的渲染管线可能会产生不同的结果。如果要在一个渲染管线中构建希望在两个渲染管线中使用的着色器,请在实际应用之前尝试在这两个管线中对其进行检查。节点可能在一个渲染管线中已定义,而在另一个渲染管线中未定义。如果此节点未定义,则会返回 0(黑色)。
支持的 Unity 渲染管线
- 高清渲染管线。不过,此节点在针对 HDRP 的无光照主节点的 Shader Graph 中不起作用。
- 通用渲染管线
端口
名称 | 方向 | 类型 | 绑定 | 描述 |
---|---|---|---|---|
Position | 输入 | 矢量 3 | 位置(世界空间) | 网格顶点/片元的位置 |
Normal | 输入 | 矢量 3 | 法线(世界空间) | 网格顶点/片元的法线 |
Static UV | 输入 | 矢量 2 | UV1 | 静态光照贴图的光照贴图坐标 |
Dynamic UV | 输入 | 矢量 2 | UV2 | 动态光照贴图的光照贴图坐标 |
Out | 输出 | 矢量 3 | 无 | 输出颜色值 |
控件
名称 | 类型 | 选项 | 描述 |
---|---|---|---|
Apply Lightmap Scaling | 切换 | True、False | 如果启用,光照贴图会自动缩放和偏移。 |
生成的代码示例
以下示例代码表示此节点的一种可能结果。
void Unity_BakedGI_float(float3 Position, float3 Normal, float2 StaticUV, float2 DynamicUV, out float Out)
{
Out = SHADERGRAPH_BAKED_GI(Position, Normal, StaticUV, DynamicUV, false);
}