Unity灯光渲染之Shadow

一般我们在烘焙场景的时候,对于那些不动的物体,我们会勾选上Static,然后灯光模式改为Bake,进行场景烘焙,这样Unity就会把光照信息自动计算到光照贴图中,贴到物体上去,可以减少实时计算的效率,节省性能。但是对于一些移动的物体,就没法显示出阴影效果了。

Unity灯光渲染之Shadow_第1张图片

移动静态物体,阴影还是在原地,但是动态物体却没有阴影。

这个时候我们可以将灯光模式修改为mix 模式,场景内的静态对象会被烘焙GI拿去计算,将光照信息计算到贴图上,同时对于非静态物体,混合模式光照仍会运算实时光到非静态物体上。一般在烘焙的时候都会选择该模式

Unity灯光渲染之Shadow_第2张图片

全局光照模式选择

Unity灯光渲染之Shadow_第3张图片

一般会选择BakedGlobal

LightMode:有三个参数

1.Subtractive:低配版烘焙,效果比较差,只支一盏光源,如果一个物体同时受多盏灯光影响,就不行了该模式。

2.Shadowmask:烘焙效果好,支持多盏光源。

3.BakedIndirect:高配版烘焙,效果更好,但耗费性能,只烘焙间接光,在ShadowDistance内显示阴影,出了这个范围,则不显示阴影。

当移动物体进入其他物体的阴影中,按照自然现象,该移动物体会受到阴影效果影响。但是如果我们的ShadowMode 选择

该选项在Edit-->ProjectSetting-->Quality

shadowMask模式,移动物体则不会受到其他物体阴影影响,这会看起来不真实

Unity灯光渲染之Shadow_第4张图片

当把模式选择为

我们可以看到移动物体就会收到阴影影响

Unity灯光渲染之Shadow_第5张图片

我们可以通过修改ShadowDistance的值,让阴影在一定距离内显示。超过该距离,则显示光照贴图计算出来的。但是这种方式显示出来的效果,则是实时计算出来的,比较耗费性能,还有另外一种方法,采用灯光探针,来达到该效果。我们下一篇再来介绍灯光探针Light Probe Group。

你可能感兴趣的:(Unity)