广义的来说,Unity的全局光照是”实时”或是”预先计算好”的,在某些情况下两种方法可以结合使用,照出更逼真的场景。
本节我们会针对两种技术的差异优势和使用时机做个简单的描述。
实时照明(Realtime Lighting)
预设情况下,Unity的灯源(直接光源, 投射灯, 点光源)都是实时的,代表这些灯源会把光线照射到场景并以每一帧的频率更新,由于光源是可以在场景内移动的对象,场景灯光的更新是实时的,你可以在游戏窗口和场景窗口看到改变。
实时照明的影响:注意到因为没有反射光源的关系,阴影是全黑的,只有投射光锥体范围内的对象表面才有光源影响。
实时照明是场景里照亮物体最基本的方法,用来照亮角色和会动的对象。
可惜的是,Unity实时照明里的光线不会反射,因此我们才导入了全局光照系统,启用了预先计算的技术,都是为了表现一个更逼真的场景。
烘焙全局光照(Baked GI Lighting)
当烘焙一张光照贴图(Lightmap)时,场景内的静态对象会基于光的影响算出一张贴图成果,并迭在场景对象之上建立照明效果: