Unity学习笔记 -- 光照系统

Unity3D光照系统

1. Global Illumination

GI,全局光照,能够计算直接光、间接光、环境光以及反射光的光照系统。

(1)直接光

从光源直接发射的光,可以通过Light组件实现。
① Directional Light 平行光:平行发射光线,可以照射场景里所有物体,用于模拟太阳。
② Point Light 点光源:在灯光位置上向四周发射光线,可以照射其范围内的所有对象,用于模拟灯泡。
③ Spot Light 聚光灯:在灯光位置上向圆锥区域内发射光线,只有在这个区域内的物体才会收到光线照射,用于模拟探照灯。
④ Area Light 区域光:由一个面向一个方向发射光线,只照射该区域内物体,近烘焙baked时有效,用在光线较为集中的区域。

关于阴影shadow

  • 从光照Light组件设置场景内物体阴影


    Light组件阴影设置
  • 从物体对象单独设置阴影


    物体对象单独设置阴影
  • 阴影剔除设置
    Edit--Project Settings--Quality--Shadow Distance 设置显示阴影的距离


    阴影剔除设置

(2)环境光

它是指作用于场景内所有物体的光照。
Window--Rendering--Lighting Settings


环境光设置

(3)反射光

根据天空盒或立方体贴图计算的作用于所有物体的反射效果,通过Enviroment Reflections控制。


反射光设置

(4)间接光

它指物体表面在接受光照后反射出来的光;注意与反射光不同,反射光时通过天空盒Skybox计算的反射效果。

间接光设置

在Light组件中设置,它的效果需要将场景中不动的物体对象设置为LightMapping Static,如下图。
物体对象静态设置

2. 烘焙Baked步骤

  • 游戏对象设置为Lightmapping Static。
  • 设置Light组件Baking 属性


    Baking属性设置
  • 设置Lighting面板


    Lighting面板烘焙设置

3. 光源侦测 Light Probes

由于LightMapping只能作用于static物体,所以导致运动的物体与场景中的光线无法融合在一起,显得非常不真实。而Light Probes组件可以哦那个过Probe收集光影信息,然后对运动物体邻近的几个Probe进行插值运算,最后将光照作用到物体上。


光源侦测例子

按照上述步骤后可烘培并且Mesh Renderer组件使用Use Light Probe,即可使黑色物体变亮。

你可能感兴趣的:(Unity学习笔记 -- 光照系统)