Unity-场景-Light

光照

  • unity光照计算系统
  • 全局光照(Global Illumination)
  • unity光源
  • 剪影
  • 发光材质
  • 环境光Environment Light
  • 环境光遮蔽Ambient Occlusion
  • 阴影
  • Lighting面板的设置
  • 光照探针
  • 反射探针
  • Unity场景打光实践知识
    • 场景所有光关闭
      • 拓展
      • 总结
    • 调光的几个地方
  • 相关应用链接
  • 学习光照的心路历程

直接光:光在物体上反射一次就到眼里的光。
间接光:最终反射到眼里的所有光。

unity光照计算系统

实时光照系统:运行时实时计算光照。
烘焙光照系统:提前将光照数据烘焙为光照贴图,在运行时应用。
混合光照系统:两者都用。

全局光照(Global Illumination)

unity对直接光和间接光的模拟

烘焙全局光照Baked Global Illumination:包括光照贴图、光照探针和反射探针。
实时全局光照Realtime Global Illumination:使用 Enlighten 的实时全局光照 马上被弃用了

unity光源

提供光照强度,颜色,方向 以供 unity计算物体的光照效果(阴影等)

unity各种光源组件

Indirect Multiplier:使用此值可改变间接光的强度。如果将 Indirect Multiplier 设置为低于 1 的值,每次反弹都会使散射光变得更暗。大于 1 的值使光线在每次弹射之后更明亮。例如,将阴暗处的阴暗面(例如洞穴内部)变亮到能够清晰可见,这个非常有用。如果要使用实时全局光照,但是希望限制单一实时光源以便它只发出直射光,请将其 Indirect Multiplier 设置为 0。

光源的光照模式:

  • Baked:Unity 在运行时之前预先计算__烘焙 (Baked)__ 光源产生的光照,而不会将这些光源包括在任何运行时光照计算中。
  • Realtime:Unity 在运行时每帧计算并更新__实时 (Realtime)__ 光源的光照。Unity 不会为实时光源进行任何预先计算。
  • Mixed:Unity 为混合 (Mixed) 光源预先执行一些计算,另一些计算则会在运行时执行。

剪影

发光材质

发光材质仅直接影响场景中的静态几何体。如果您需要动态或非静态几何体(如角色)接受发光材质发出的光,则必须使用光照探针。

环境光Environment Light

Lighting 面板中设置 不调整单个光源的情况下增加场景的整体亮度

环境光遮蔽Ambient Occlusion

环境照明本身就是从四面八方照亮物体的,没有考虑到物体和物体之间的遮挡关系。我们把这个问题叫做环境光遮蔽Ambient Occlusion,也就是我们常说的AO,是对环境光强度的一种控制

阴影

Lighting面板的设置

光照探针

光照探针是在烘焙期间测量(探测)光照的场景位置。在运行时,系统将使用距离动态游戏对象最近的探针的值来估算照射到这些对象的间接光。

主要用途

  • 为场景中的移动对象提供高质量的光照(包括间接反射光)。
  • 在静态景物使用 Unity 的 __LOD(细节级别)系统__时提供该景物的光照信息。

反射探针

Unity-场景-Light_第1张图片
Unity官方文档-UseLight

Unity场景打光实践知识

场景所有光关闭

  1. 新建一个场景,建立一个cube,删除场景中所有的light组件(这时在scene和game视图还可以看到cube,以及天空盒背景。【因为天空盒会产生环境光】)
  2. 将天空盒材质的Exposure调为0(此时scene和game视图都是黑的,场景中没有光的存在)

Exposure:调整天空盒的曝光。因此可以校正天空盒纹理中的色调值。较大的值会产生曝光更强、看起来更亮的天空盒。较小的值会产生曝光更弱、看起来更暗的天空盒。

拓展

在第一步之后,即场景中只有天空盒提供环境光时,将Lighting面板中Environment Lighting的Intensity multiplier设置为0(直射和反射都设为0)(此时场景中的所有物体都是黑色,但是可以看到天空盒背景颜色【天空盒只是一个背景】)
其实此时对场景来说已经不存在光了。

环境光(也称为漫射环境光)是场景周围存在的光,并非来自任何特定的光源对象。它可以是场景整体外观和亮度的重要影响因素。
环境光在许多情况下都很有用,具体取决于您选择的艺术风格。一个例子是明亮的卡通风格渲染,其中可能不需要暗阴影,或者可能要将光照手绘成纹理。如果您需要在不调整单个光源的情况下增加场景的整体亮度,环境光也很有用。
Environment Lighting:Intensity Multiplier: 使用此属性可设置场景中环境光的亮度,定义为 0 到 8 之间的值。默认值为 1。

总结

场景里一共两种体现出来的光:

  • light组件:提供直接光以及它提供的反射光。
  • 天空盒:提供环境光。
    但是Lighting面板里的环境光可以控制场景环境光亮度。

调光的几个地方

  • Light组件
  • 天空盒
  • Lighting面板 Environment Lighting 环境光

相关应用链接

灯光效果

Unity灯光渲染学习

经常能搜到的一篇小姐姐烘焙教学
烘焙技术
Unity光照烘焙技术-下
Unity光照烘焙技术-上
Unite2018笔记
Unity渐进式光照贴图烘焙详解

室内场景+光照练习

学习光照的心路历程

  • 搞懂光的现实概念(直接光,间接光,反射,衍射,折射等)
  • unity衍生出来的概念(环境光,全局光照)
  • unity能产生光的对象(light组件,环境光(天空盒))
  • unity光调节的参数(光强度,光反射光强度,环境光强度,环境光反射强度)
  • unity的模拟光的技术(实时全局光照系统,烘焙全局光照系统)
  • unity烘焙技术相关(光照贴图,一堆参数设置,光照探针)

你可能感兴趣的:(Unity,unity)