unity-光照烘焙GI简单应用

时间:2024-04-04 09:55:52

(1)GI是什么:下图中绿色光经过二次或多次反射到的点是GI;红色的是光能直接照射到的地方
unity-光照烘焙GI简单应用(2)构建场景:3Cube,一个方向光;设置Lighting如下图去除天空盒和Lighting的影响:
unity-光照烘焙GI简单应用
(3)设置light->Mode为Baked;同时勾选Baked Global Illumination;
unity-光照烘焙GI简单应用(4)然后发现 cube都变黑了?!!选中cube标记为static:
unity-光照烘焙GI简单应用(5)最上面的cube,底部右侧和左侧有明显的亮度差别:这说明GI生效了。(同时最下方Cube的上表面黑暗部分也有色差)
unity-光照烘焙GI简单应用

(6)烘焙完成后的光照贴图:共2张 ,一个light,一个lightDir
unity-光照烘焙GI简单应用(7)产生几张光照贴图是是由Directional Mode控制的:
1.Directional则产生lightDir贴图,no-Directional则不产生lightDir贴图,只产生light贴图。
2.lightDir贴图的作用:光有了方向,normalMap才能产生凹凸作用。
3.如果由normalMap,你想到了lightDir会不会对Specular高光产生影响呢?~~,答案是不会,specualr是由观察视角方向决定的这个不会受影响,而观察方向是实时的。
unity-光照烘焙GI简单应用
(8)控制光照贴图的大小:Lightmap Size 和 LightmapResolution最关键
unity-光照烘焙GI简单应用

(9)增强GI:colorSpace设置为Linear;增大light中Indirect Multiplier的值
unity-光照烘焙GI简单应用线性可以是“暗”的地方更细腻,亮的更有层次;而不像伽马:黑的更黑,亮的会爆掉
unity-光照烘焙GI简单应用

(10)设置AO,全局控制GI的强度:
unity-光照烘焙GI简单应用设置全局的Indirect Intensity的强度后,由于光太亮了,就只好去削减light中的值了:
unity-光照烘焙GI简单应用(11)设置Albedo:我们想要最上面的Cube反射光照到其他cube面上,但是又不想让最上面的cube太亮,接下来这样操作:新建一个材质球配置到这个cube上:会看到场景变暗了
unity-光照烘焙GI简单应用
设置增大Albedo Boost的值:会发现最上面的cube的反射面的亮度范围变小了,同时下面的其他cube的光照亮度并没有减少。
unity-光照烘焙GI简单应用