全局光照(GI)
注意当前使用的版本是 2020.3 的,不同版本的全局GI 烘焙效果是不一样的
不用版本,切换文档看具体说明
全局光照简介
光照分为 实时光照 和 烘培光照
实时光照: 所有的灯光计算都是实时计算的,物体移动改变都会受到 灯光 与 阴影的影响
烘培光照: 灯光的计算 都是采样 预先烘培好的光照贴图 计算灯光效果的,物体的移动该改变光照与阴影不变
实时光照
在光照界面 勾选Realtime Global Illumination 实时全局光照
图中 有静态物体 自发光物体 动态物体
可以看见 物体在移动的过程中 光照与阴影 都是实时计算的
但是中间球形的自发光物体 应该产生间接光照,在实时光中并没有表现
阴影的设置
Shadowmak Mode (阴影模式): 1)ShadowMask 2) DistanceShadowMask
其实这两模式没有什么大的区别 可以看文档上的区别 ,也就是 对于动态与静态接受 静态物体阴影的时候 ShadowMask 都使用光照探针,而DistanceShadowmask 是 不超过使用贴图,超过的使用探针
主要的还是 Shadow Distance本身的作用 ,下面列举了当不同的烘焙模式下 Shadow Distance的作用
1)实时光,Backed Indirect,Subtractive : 超过距离不显示阴影 ,没有超过显示阴影
2)Shadowmask :按照上面的图,显示阴影
1)效果:
光照探针
静态物体的光照可以预处理,而动态物体位置会实时变化,这就不好去做提前光照计算,因此一个方案就是在场景中排满一个一个静态的“小球”,预先计算出这些小球的光照。
然后游戏运行时,动态物体就可以去每时每刻寻找各方向上离他最近的几个静态“小球”,然后对这些“小球”的光照结果进行插值。
光照探针的每一个小顶点都会采集当前位置的光照信息,并在烘焙的时候把光照计算的信息存在小球里。
当游戏实时运行的时候,运动的物体会经过光照探针的范围,然后距离物体最近的小球的光照信息给与动态物体
当动态物体经过 光照探针的范围时,就会采集距离当前点最近的探针小球(也就是图中的红色框小球),然后会把在烘焙时计算好的小球位置的光照信息 给予动态物体的漫反射
烘培光照
烘培光照分为三种模式 分别为 Backed Indirect , Subtractive ,Shadowmask
Backed Indirect : 间接烘培
1)灯光模式为Backed: 光照与阴影都采用 静态贴图,阴影不受距离控制都会计算阴影贴图,静态物体有间接光,动态物体没有间接光
2)灯光模式为Mixed : 光照与阴影都是 实时计算的,阴影会受到距离控制 ,静态物体有间接光,动态物体没有间接光
3)灯光模式为Mixed + 光照探灯 : 光照与阴影都是 实时计算的,阴影会受到距离控制 ,静态物体与动态物体都有间接光
Subtractive : 混合烘培 动态烘培光照 静态烘培阴影 能够计算间接光
1) Backed Indirect + 所有灯光为Backed模式
如何 使用Backed Indirect 烘培场景
1) 设置需要烘培的静态,灯光,阴影物体为 Contribute GI(支持Gi烘培)
2) 把需要烘培灯光的 Mode 设置为 Backed
3) 烘培
效果:
2) Backed Indirect + 所有灯光为Mxied模式
如何 使用Backed Indirect 烘培场景
1) 设置需要烘培的静态,灯光,阴影物体为 Contribute GI(支持Gi烘培)
2) 把需要烘培灯光的 Mode 设置为 Mxied
3) 烘培
效果:
3) Backed Indirect + 所有灯光为Mxied模式 + 光照探灯
如何 使用Backed Indirect 烘培场景
1) 设置需要烘培的静态,灯光,阴影物体为 Contribute GI(支持Gi烘培)
2) 把需要烘培灯光的 Mode 设置为 Mxied
3) 需要一个间接光物体,并且把 Global Illumination 设置为 Backed
4)设置光照探针
5)烘培
效果: