文章目录
一、Unity3D光源组件
Unity中提供了四种光源:
- Directional light: 方向光,类似太阳的日照效果。
- Point light: 点光源,类似蜡烛。
- Spotlight: 聚光灯,类似手电筒。
- Area Light:区域光,无法用作实时光照,一般用于光照贴图烘培。
二、详解
Type :可以选择以上介绍的四种光源类型
Range:设置光源范围的大小,从光源对象的中心发射的距离。只有Point和Spotlight有该参数。
Color:光源的颜色
Mode:LightMode下的三种模式
1、Realtime实时
Unity 在运行时每帧计算并更新实时灯光。没有预先计算实时灯光。
2、Mixed混合
一种提供烘焙和实时功能的混合模式,例如对灯光的间接照明进行烘焙,同时对直接照明进行实时计算。场景中混合模式灯光的行为和性能影响取决于我们全局混合照明模式的选择。
Mixed Lights下的子模式:Baked Indirect、Shadowmask、Distance
Shadowmask、Subtractive。
3、Baked烘焙
Unity 在运行之前预先计算Baked Lights 的光照,灯光的直接和间接照明被烘焙成光照贴图。设置为该模式后,该灯光在程序运行时将不占用性能成本,同时,将生成的光照贴图应用到场景中的成本也较低。
== 关于light Mode还有更深入的 ==
Instensity:光源的强度
Cookie:用于为光源设置拥有alpha通道的纹理,时光线在不同地方有不同的亮度,如果是聚光灯(Spotlight)和方向光(DirectionalLight),可以指定一个2D纹理。如果是一个点光源(Point light),必须指定一个Cubemap(立方体纹理)。
Cookie Size:用于控制缩放Cookie投影,只有方向光(DirectionalLight)有该参数。
Shadow Type:阴影类型
No Shadows 关闭阴影
Hard Shadows 硬阴影
Soft Shadows 软阴影
个人理解:与现实世界对比,硬阴影就好比太阳光特别的强烈,照出来的影子有棱有角;软阴影就好比阴天的时候,但是有有那么一丝丝阳光,影子相比没那么明显,阴影比较平滑,需要注意的是软阴影会消耗系统更多的资源。
== 软阴影 ==
== 硬阴影 ==
注意:默认设置下,只有== Directional light光源 ==才可以开启阴影,Pointlight、Spotlight光源开启阴影的话会弹出提示(Only directionallight have shadows in forward redering),意思就是说只有Directionallight光源在Forward模式下才可以开启阴影(只有发不成web版或单机版才支持)
- Softness:控制阴影模糊采样去的偏移量,只有方向光设置为软阴影的情况才会启用。
- Softness Fade:控制阴影模糊采样区的偏移量,有有方向光设置为软投影的情况下才会启用。
Draw Halo:勾选此项,光源会开启光晕效果。
Flare:耀斑/炫光,镜头光晕效果。
RenderModel 渲染模式
Auto:自动,根据光源的亮度以及运行时Quality sSetting的设置来确定光源的渲染模式。
Important:重要,逐像素进行渲染,一般用于非常重要的光源渲染
Not Important:光源总是以最快的速度进行渲染。
Culling Mask :剔除遮蔽图,选中层所关联的对象将收到光源照射的影响。
总结
需要注意的是,如果场景中对光源要求不高的话,就尽量选用Directional Light光源,另外两个光源(PointLight,Spotlight)会比较消耗内存资源。