Unity3D(六)光照系统

光照系统

Global Illumination

GI即全局光照

能够计算直接光、间接光、环境光以及反射光的光照系统
通过GI算法可以使渲染出来的光照效果更为真实丰富

  • 组件Light
  • Directional方向光
    沿z轴发射光线,太阳
  • Point点光源
    在球形以内有光照,灯泡
  • Spot聚光灯
    点向锥体发射光线,探照灯手电筒
    光可以设置阴影
    在Quailty中可以做优化根据距离显示不显示等

环境光照

作用于场景内所有物体的光照,通过Environment Lighting中Ambient中设置

  • 反射光

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

  • 间接光照

在开发的时候做大量计算
物体表面在接受光照后反射出来的光
通过Light组件的Bounce Intensity控制
场景中不动的物体标记为静态(LightingMapStatic)

实时GI

所谓实时是指在运行期间,所有变化可以立即更新

烘焙GI(对静态物体做)

场景中包含大量物体时,实时光照和阴影对游戏性能有很大影响。使用烘焙技术,可以将光线效果预渲染成贴图再作用到物体上模拟光影,从而提高性能。适用于在性能较低的设备上运行的程序。

  • Light组件中Banking选择Baked

区域光

非常消耗性能,Baked Only
一个面向一个区域发射光

动态怎么办?——光源侦测Light Probes

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

阅读:

Unity4.x 第二章Unity编辑器
Unity4.x 第八章遮挡剔除技术
Unity4.x 第十二章12.2-3小节渲染管线
3D数学基础 第十五章第一小节

原文地址:https://www.cnblogs.com/code-fun/p/13938512.html