US3S5L1——多种光源
US3S5L1——多种光源
多种光源
Unity当中一共支持四种光源类型:平行光,点光源,聚光灯,面光源。其中面光源只在烘焙中使用,这里不讨论
-
Shader 开发中常用的光源属性:位置、方向、颜色、强度、衰减
-
对比平行光、点光源、聚光灯
- 平行光:没有位置、没有衰减、只有方向、颜色、强度参与计算
- 点光源:五个属性都需要考虑
- 聚光灯:五个属性都需要考虑,并且计算最复杂,因为它的范围很特殊,需要进行更复杂的计算
平行光
-
充当角色:太阳
-
照射范围:无限制
-
特点:
- 它不存在固定的位置
- 它的重要属性只有方向(可以通过 Transform 的
Rotation
属性来改变方向) - 它到场景中所有点的方向都是一样的
- 由于它没有位置,因此它没有衰减的概念(光的强度不会随着距离而发生变化)
点光源
-
充当角色:灯泡、烛光 等
-
照射范围:有限
-
特点:
- 它的光是由一个点发出的,向四面八方延伸的光
- 它的范围由参数
Range
来决定 - 它的位置由
Transform
中的Position
来决定 - 它存在衰减,随着物体离点光源距离决定衰减强弱
聚光灯
-
充当角色:探照灯、手电筒 等
-
照射范围:有限
-
特点:
- 它的光范围由空间中的一块锥形区域定义
- 它的范围由参数
Range
和Spot Angle
共同决定 - 它的位置由
Transform
中的Position
来决定 - 它存在衰减,随着物体离聚光灯距离决定衰减强弱。
但是它相对点光源衰减计算公式更复杂,因为需要点是否在锥形范围内
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 文KRIFE齐的博客!