灯光是游戏场景的重要组成部分,决定你的3D环境的颜色和氛围。通过相互搭配,让场景更加层次分明、光彩绚丽。
一、创建灯光
二、灯光类型
Unity中的光源有四种类型:Directional Light(平行光)、Point Light(点光源)、Spot Light(聚光灯)、Area Light(区域光)。
1、Directional Light 平行光/方向光/定向光:平行光的光线是互相平行的,不管对象离Directional Light光源多远,它投射出来的阴影看起来都一样,而且Directional Light没有真正的光源坐标,把它放置在场景任何地方都不会影响光照效果,只有旋转会影响Directional Light的照射结果。平行光影响场景的所有物体,类似于自然界中太阳光的照明效果。通常用于(室外)模拟太阳光,它的特性就像是个太阳,可以被放置在无穷远的地方,能从无限远的距离投射光源到场景。
在Unity里Directional Light还会与天空盒系统(程序天空盒)关联,就是把Directional Light做为太阳显示并绑定在天空壳上。指定路径(Window->Rendering->Lighting settings(打开Lighting菜单)->Scene->Sun Source)。
2、Point Light 点光源:点光源向四面八方(所有方向)发射光线,影响其范围内的所有对象,亮度从中心往外递减到0为止,类似灯泡的照明效果。适合用来制作像灯泡、武器发光或爆炸等效果。点光源的阴影为了要给六个不同的世界方向会运算六次,因此点光源的阴影运算是很图像处理器资源的,必须谨慎使用。注意:目前点光源不支持阴影的间接反射,这就表示由点光源产生的光线,只要在距离内有可能会穿过对象反射到另外一面,这可能会导致墙壁或地板漏光,因此放置点光源要格外注意,然而如果是采用Backed GI的话,就不会有这类的问题产生。
3、Spot Light 聚光灯:聚光灯从光源发出,在一个方向上按照—个锥形的范围发射光线,该锥形是由聚光灯角度 (Spot Angle) 和范围 (Range) 界定的,光线会从源头到设定的范围慢慢衰减到0。类似手电筒, 路灯, 壁灯,舞台灯光等等照明效果。因为投射区域能精确的控制,因此很适合用来模拟打在角色身上的光。 聚光灯也是比较耗费图形处理器资源的。
4、Area Light 区域光/面光源:这种光能从各方向照射一个平面的矩形截面的一侧。该光源无法应用于实时光照,仅适用于光照贴图烘焙 lightmap baking,
三、Properties 灯光属性
Type 类型:灯光对象的当前类型
Color 颜色:光线的颜色
Range 范围:点光源/聚光灯有这个属性
Spot Angle(聚光灯角度):聚光灯的角度
Mode 模式:【Realtime 实时; Mixed 混合; Baked 烘培】
Intensity 强度:光线的明亮程度
IndirectMultiplier 间接光强度
ShodowType 阴影类型(是否开启阴影):【No Shadows 无阴影;Hard Shadows 硬阴影:锯齿强度比较明显;Soft Shadows 软(柔和)阴影:软阴影效果比硬阴影效果好,但是耗费性能。】
Strength 硬度:阴影的黑暗程度,取值范围是在0和1之间。
Resolution 分辨率:阴影的细节水平
Bias 偏移:用于比较灯光空间的像素位置与阴影贴图的值比较的偏移量。当值太小时,物体的表面会有来自于自身的阴影,物体就像长了痘痘一样。当值太大,光源就会脱离了接收器(彼得平移)。影子显示错位时调整。
Cookie(Cookie投影):以纹理的Apha通道作为一个遮罩,使光线在不同的地方有不同的亮度。如果灯光是聚光灯或方向光,这必须是一个2D纹理;如果灯光是一个点光源,它必须是一个立方图(Cubemap)。
Cookie Size(缩放Cookie投影):只用于方向光。
Draw Halo 绘制光晕:如果勾选此项, 光线带有一定半径范围的球形光晕被绘制。
Flare:耀斑/光晕/眩光:光晕对象是被镜头光晕组件( Lens Flare Components)使用的源资源。光晕本身是一个纹理文件和具体的信息的结合,确定眩光的行为。然后,当你想在一个场景中使用眩光,将镜头光晕(Lens Flare)组件贴到一个游戏物体上,并拖动你要使用到镜头光晕的耀斑属性的耀斑,就像给网格渲染器( Mesh Renderer)指派一个材质(Material )一样。
Render Mode 渲染模式:
Auto 自动:
Important 重要:灯光逐个像素渲染。只用在一些非常重要的效果(比如玩家的车的车头灯)。
Not Important 不重要:灯光总是以最快的速度渲染。顶点/对象光模式。
Culling Mask 消隐遮罩:有选择地使组对象不受光的效果影响
Lightmapping 光照贴图:仅灯光实时计算(RealtimeOnly)、自动(Auto)、烘焙( BakedOnly)
四、使用线性光照(更改颜色空间)
指定位置Edit -> Project Settings -> Player -> Other Settings。