光源类型
- 平行光
- 点光源
- 聚光灯 spot light 可以用于表示由一个特定位置出发、向特定方向延伸的光,锥形区域的半径由面板的Range属性决定,而锥形体的张开角度由spot angle属性决定
- 面光灯 area light
光源属性
- 位置 position
- 方向 direction
- 强度 instensity
- 颜色 color
- 衰减 attenuation 到某点的衰减,与该点到光源的距离有关
shader实现
1 | Pass{ |
notes
如果场景中有多个平行光,那么unity会选择最亮的平行光传递给BasePass进行逐像素处理,其他平行光会按照逐顶点或在Additional Pass中按照逐像素的方式处理,如果场景中没有平行光,那么base pass会当成全黑的光源处理。basepass处理的逐像素光源类型一定是平行光。可以使用_WorldLightPos0来得到这个平行光的方向,可以使用 _LightColor0来得到它的颜色和强度,衰减值为1