本页介绍将光源组件的类型 (Type) 属性的效果。
可以使用类型 (Type)属性来选择光源的行为。可用值如下:
点光源位于空间中的一个点,并在所有方向上均匀发光。照射到表面的光线的方向即从接触点返回光源对象中心的线。强度随着远离光源而衰减,在到达指定距离时变为零。光强度与光源距离的平方成反比。这被称为“平方反比定律”,与现实世界中的光类似。
点光源适合用于模拟场景中的灯光和其他局部光源。您还可以用点光源逼真地模拟火花或照亮周围环境的爆炸。
与点光源类似,聚光灯也具有指定的位置和光线衰减范围。不同的是聚光灯受到角度的约束,会形成锥形的光照区域。锥体的中心指向光源对象的发光 (Z) 方向。聚光灯锥体边缘的光线也会减弱。加大该角度会增加锥体的宽度,并随之增加这种淡化效果(即“半影”)的大小。
聚光灯通常用于人造光源,例如手电筒、汽车前灯和探照灯。通过脚本或动画控制方向,移动的聚光灯可以照亮场景的一小块区域并产生舞台风格的光照效果。
方向光适合用于在场景中创建诸如阳光的效果。方向光在许多方面的表现很像太阳光,可视为存在于无限远处的光源。方向光不存在可识别的源位置,因此光源对象可以被放置在场景中的任何位置。场景中的所有对象都被照亮,就像光线始终来自同一方向一样。光源与目标对象的距离是不被定义的,因此光线不会减弱。
方向光代表来自游戏世界范围之外位置的大型远处光源。在逼真的场景中,方向光可用于模拟太阳或月亮。在抽象的游戏世界中,方向光可用于为对象添加令人信服的阴影,而无需精确指定光源的来源。
默认情况下,每个新的 Unity 场景都包含一个方向光。此光源已被关联到光照 (Lighting) 面板的环境光照 (Environment Lighting) 分段所定义的程序化天空系统中(光照 (Lighting) > 场景 (Scene) > 天空盒 (Skybox))。您可以更改此设置,方法是删除默认的方向光并创建新光源,或者直接通过“太阳 (Sun)”参数(光照 (Lighting) > 场景 (Scene) > 太阳 (Sun))指定不同 GameObject。
旋转默认的方向光(或“太阳”)会导致“天空盒”更新。光线与侧面成一定角度并与地面平行,便可以实现日落的效果。此外,将光源指向上方会使天空变黑,就好像是夜晚一样。如果光线从上到下成一定角度,天空就会像白昼。
如果选择天空盒作为环境光源,那么环境光照将根据这些颜色进行改变。
您可以用空间中的两种形状之一来定义面光源:矩形或圆盘。面光源会从该形状的一侧发光。发出的光会在该形状的表面上均匀地向所有方向传播。范围 (Range) 属性决定了该形状的大小。面光源提供的光照强度会以与光源距离的平方倒数所决定的速率衰减(见平方反比定律)。由于光照计算对处理器性能消耗较大,因此面光源在运行时不可用,只能烘焙到光照贴图中。
由于面光源会同时从几个不同的方向照亮对象,因此其着色效果趋向于比其他类型的光源更柔和、细腻。您可以使用这种光源来创建逼真的路灯或靠近玩家的一排灯光。小面积的光源可以模拟较小的光源(例如室内光照),但效果比点光源更逼真。