Unity5 新功能解析--GI(全局光)
Unity5带来的最大的改变就是全新的GI,在烘焙引擎上抛弃了4的beast,使用了虚幻采用的Enlighten,引入了实时的全局光。这里对UNITY5的新的光照系统做一总结.
- 新加入了一种只用于烘焙的光照类型 Area Light
面积光的光源有形状,是一个矩形区域,有位置,有方向,方向是超矩形的一面,矩形的背面没有光,并且随距离衰减直到没有。它用于模拟大量的光源和在一起的效果,如街道,但是因为计算复杂,所以只用于烘焙
- 全局光照
实时全局光只实时计算物体之间的bounce light(物体之间来回反射的光)
实时全局光的实现:静态物体之间的bounce light可以在预先计算阶段搞定(light map)
被静态物体照射到的动态物体,通过实时更新的光照探头搞定
被动态物体照射到的物体,还不支持
相比UNITY4来讲,多出来的实时全局光部分应该是多出了lightmap 光照探头这些可以实时更新 而不是定死的
如下图在光源变化下,静态物体的对地板的反射绿色光也在跟着变化
此外UNITY5里面的标准材质的自发光在全局光计算中可以当做光源,即可以照亮周围物体并产生阴影,这是一个很屌的效果!,如下图,
自发光的GI效果如图
这可以表现一个很真实的发光体,相信看到这美术同学应该有点小激动吧~
Unity5 的全局光照除了新引入的实时GI之外,也有过去的离线烘焙的方式,或者也可以选择二者合用的方式(不过这不是一个省效率的方式)
- 1离线烘焙
将light的Baking设为Baked,标记那些static的物体,在Lighting window中的Baked GI对应的就是烘焙的实时光,所以这是要把Precomputed Reatime GI关闭
- 2实时
- 3 烘焙GI加实时的局部光照
- 4 烘焙的GI叠加实时的GI,这种做法基本没什么好处,而且效率也很低,这种组合是将light设为mixed,然后将light setting里面的baked gi和 relatime gi全开启
- 通用的GI设置
Unity5的scene视图里面有多提供了一个视图Irradiance 来查看动态物体间的间接光照
- 光照探头,unity5的关照探头是为了使动态物体能偶受静态物体的gi影响,比UNITY4多了光照探头的信息可以实时更新的,其余的使用设置同4基本是一样的
- 反射探头