关于Unity中的光照(一)

一、光源定义

光源,是一个普通节点加一个Light组件,创建的时候可以直接创建光源节点,也可以先创建一个空节点,再添加Light组件实例。

二、颜色形成

看到的物体颜色受两个很重要的因素的影响,一个是物体的材质,一个是光源本身的颜色。两者混合在一起才是最终看到的结果。

颜色:255 255 255
强度 0.5
颜色+强度=新颜色 128 128 128
新颜色+材质颜色=最终看到的颜色
如果材质有几种光源,那么材质就要混合几次光


三、光源类型
1.太阳光
2.电灯
3.台灯,舞台灯

光原三个基本点有颜色,范围,强度


太阳光----平行光(Directional Light)
1.颜色:白色,红色
2.范围:全部可见
3.强度:一致的

灯泡------点光源(Point Light)
1.颜色:各种颜色
2.范围:范围有限,一个球体内有效,最大波及范围
3.强度:根据距离中心远近有衰减


舞台灯----聚光灯(Spot Light)
1.颜色:各种颜色
2.范围:范围有限,一个椎体内有效,最大波及范围
3.强度:根据轴中心远近有衰减,中心轴越靠近光源的越亮,水平面,圆形越靠近中心轴的越亮

 四、光源属性

独特属性:

1.平行光

2.点光源:range:灯的半径,越大越亮,原因是同样的强度范围大的衰减的慢了一些

3.聚光灯:(1).range:灯的高度   (2).Spot Angel:椎体角度


公共属性:

1.Shadow Type,影子类型,性能消耗大
(1).Soft Shadows:默认
(2).Hard Shadows
(3).No Shadows

2.Resolution,影子质量,越低计算量越小
(1).Low Resolution:低分辨率
(2).Medium Resolution:中分辨率
(3).High Resolution:高分辨率
(4).Very High Resolution:超高分辨率


3.Draw Halo:光晕,显示出光源的具体样子

4.Render Mode:
(1).auto:根据当前质量自动选择
(2).important:光照质量好,性能差
(3).not important:光照质量不好,性能好

5.Culling Mask:决定哪一层的物体是受光源影响的


6.Baking:烘焙,把光照到物体上就叫烘焙
(1).Realtime:实时光照,实时计算,光照实时改变,CPU消耗大
(2).Baked:静态光照,预先计算好,性能消耗小,但是不能动态地改变,就像光照贴图一样贴在物体上,所以一般在一些静态游戏场景使用
(3).Mixed:混合模式,则里面可以有静态烘焙的,也可以有动态改变的,静态的模式选Baked,再组合相应的Static物体,动态的模式选Mixed,

五、烘焙操作
选择Baked模式的其他必要操作
(1).选择要被Baked的物体,右上角的Static模式选择Lightman Static,把场景中的3D物体设置成静态光照模式
(2).光源模式改为Baked模式
(3).打开Windows--->Lighting窗口,选择Object小窗口,模式选择Baked,发现只有刚才选择的静态光照的物体才被烘焙,才有光照
(4).选择Scene小窗口,点击Build,就可以把静态烘焙的光照保存下来,这时候,即使把灯关掉,物体还是有被光照到的效果



原文地址:https://www.cnblogs.com/HangZhe/p/6848263.html