UnityShader开发之光照 - 光照相关的参数解释

1.渲染路径(Rendering Path)

设置Rendering Path ,目前都是Forward

2.配置Pass Tag

         需要在Tags中配置

Tags { "LightMode" = "ForwardBase" }

        LightModel的属性表

属性 描述
Normal 不与光照交互的规则着色器通道
Vertex 旧的顶点照明着色器通道
VertexLM 旧的顶点照明着色器通道,并且带有移动端光照图
ForwardBase 前向渲染基本通道
ForwardAdd 前向渲染加像素光通道
LightPrePassBase 旧延迟光照基础通道
LightPrePassFinal 旧延迟光照最终通道
ShadowCaster 阴影投射和深度纹理着色器通道
Deffered 延迟着色器通道
Meta 用于产生反照率和发射值的着色器通道,用作光映射的输入。
MotionVectors 运动矢量渲染通道
ScriptableRenderPipeline 自定义脚本通道
ScriptableRenderPipelineDefaultUnlit 当光模式被设置为默认未亮或没有光模式时,设置自定义脚本管道。

3.参数

ForwardRendering(ForwardBase 和 ForwardAdd)光照模式的参数

Name Type Value
_LightColor0 fixed4 光照颜色
_WorldSpaceLightPos0 float4

平行光(世界空间向量x,世界空间向量y,世界空间向量z,0)

其他光源(世界坐标x,世界坐标y,世界坐标z,1)

_LightMatrix0 float4x4 这是一个由世界空间变换至光源空间(即光源的局部坐标系)的矩阵。可用于计算光照衰减。
unity_4LightPosX0, unity_4LightPosY0,unity_4LightPosZ0 float4 仅在ForwardBase pass 有效,代表的是世界空间内的前四个非重要点光源的位置。每一个值的四个分量xyzw分别代表的是四个点光源的x坐标,这个值的xyzw值都代表着四个点光源各自的对应坐标
unity_4LightAtten0 float4 仅在ForwardBase pass 有效,代表着前四个非重要点光源的衰减系数。注:当没有数据时的值是1而不是0。
unity_LightColor half4[4] 仅在ForwardBase pass 有效,这是一个half4类型的4分量数组,里面的4个参数代表上述的四个点光源的颜色信息
unity_WorldToShadow float4x4[4] 这是一个float4x4类型的4分量数组,一个矩阵处理点光源,到4矩阵处理平行光源

猜你喜欢

转载自blog.csdn.net/qq_28474981/article/details/83998288