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矩阵处理平行光源 |