Unity光照系统,GI,光线追踪,LightMap,Enlighten,HDR等
demi 在 周二, 11/27/2018 - 14:01 提交
GI:全局光照,指的是模拟光线是如何在场景中传播的算法。不仅会考虑直接光照的结果,还会计算光线被不同的物体表面反射产生的间接光照。
Unity使用的是预计算实时全局光照 : 实时(直接光照)+ 预计算(直接光照和间接光照)模拟光照。(这里的实时指的就是物体移动光照效果也会变化。)实时光照没办法模拟光线的多次反射的效果,所以加了预计算光照。预计算光照效果就既有直接光照,也有间接光照。
原理:一旦物体和光源的位置固定,物体对光线的反弹路径及漫反射光照也是固定的,因此可以预计算,把物体之间的这些关系计算出来。这样在实时运行时,只要光源位置不变,这些关系信息就一直有效,不需要实时更新。
Unity Enlighten光照系统提供了两种技术:烘焙GI 和 预计算实时GI。同时使用这两种会有性能问题。
烘焙GI: LightMap,即烘焙GI中的光照贴图,表示静态物体基于光的影响计算出的贴图。把光源对场景中静态物体的光照效果提前烘焙到一张光照纹理中,然后把光照纹理直接贴在物体表面。(有直接光照信息,也有间接光照信息)