首页 > 代码库 > [原]Unity3D深入浅出 - 光源组件(Light)

[原]Unity3D深入浅出 - 光源组件(Light)

Unity中提供了四种光源:

  • Directional light: 方向光,类似太阳的日照效果。
  • Point light: 点光源,类似蜡烛。
  • Spotlight: 聚光灯,类似手电筒。
  • Area Light:区域光,无法用作实时光照,一般用于光照贴图烘培。

接下来介绍光源的参数:如下图

  • Type:可以选择以上介绍的四种光源类型
  • Range:设置光源范围的大小,从光源对象的中心发射的距离。只有Point和Spotlight有该参数。
  • Color:光源的颜色
  • 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版或单机版才支持)
    • Strength:强度,就是晴天跟阴天的效果吧
    • Resolution:控制阴影分辨率的质量
    • Bias:设置灯光控件的像素位置与阴影贴图值比较的偏移量,取值范围0~0.5,当值过小,对象表面会产生self-shadow,就是物体的表面会有来自于自身阴影的错误显示;当值过大,阴影就会较大程度的偏离投影的对象。
    • Softness:控制阴影模糊采样去的偏移量,只有方向光设置为软阴影的情况才会启用。
    • Softness Fade:控制阴影模糊采样区的偏移量,有有方向光设置为软投影的情况下才会启用。
  • Draw Halo:勾选此项,光源会开启光晕效果。
  • Flare:耀斑/炫光,镜头光晕效果。
  • RenderModel 渲染模式
    • Auto:自动,根据光源的亮度以及运行时Quality Settings的设置来确定光源的渲染模式。
    • Important:重要,逐像素进行渲染,一般用于非常重要的光源渲染
    • Not Important:光源总是以最快的速度进行渲染。
  • Culling Mask :剔除遮蔽图,选中层所关联的对象将收到光源照射的影响。
  • Lightmapping:光照贴图,用于控制光源对光照贴图的影响模式
    • RealtimeOnly:实时灯光计算,不参与光照贴图的烘培计算。
    • Auto:自动
    • BakedOnly:用于光照贴图的烘培,不进行实时灯光计算。

需要注意的是,如果场景中对光源要求不高的话,就尽量选用Directional Light光源,另外两个光源(PointLight,Spotlight)会比较消耗内存资源。

对光源参数的介绍就到这里下一章介绍 摄像机(Camera)的参数