Unity5中的软阴影烘焙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity5中的软阴影烘焙相关的知识,希望对你有一定的参考价值。

参考技术A        此文分享在unity5中烘焙光照时关于软阴影的一些见解。光照烘焙是计算机图形学领域的一种技术,用于为计算量巨大的虚拟光照操作生成纹理,称为光照贴图。光照贴图信息被烘焙到这些纹理中,用来展现就像受实时灯光影响的虚拟场景,而开销只是使用实时灯光的一小部分。通常结合烘焙光及实时光使用以创建更真实的虚拟环境。

观察灯光与环境中的物体交互时会发现,很明显阴影几乎不会完全平直。灯光以直线传播,但它几乎不可能无限小到可以产生完全平直的阴影。为了使场景看起来更加可信,如果软件支持就有必要考虑使用软阴影。此文将展示一些对比案例,以更好地理解如何烘焙软阴影及如何设置。虽然此教程着重于unity5,但这些内容同样适用于其它软件。

先来讨论下Unity中灯光的衰减,以及它如何加强场景中烘焙灯光的表现。为了更直观地解释软阴影,下面展示一张关于灯光的图片。这张图片很好的展示了阴影是如何随着距离的延伸变得更加柔和。看一下如何在Unity5中实现类似的效果。

创建测试环境

在研究不熟悉的技术或解决没把握的问题时,比较好的做法是新建工程进行尝试,这样能很好的避免影响到现有的工程。为了更好地理解Unity中的软阴影,我将新建工程做一个对比性的设置。

如果想继续实现这些效果,请遵循如下步骤。

1.新建Unity5项目并设为3D,依次点击Edit > Project Settings > Player将渲染路径更改为”Deferred”,颜色空间(Color Space)设置为 “Linear”。

2.通过禁用环境光亮度(Ambient Intensity)和天空盒(Skybox )让场景完全黑暗,这样就可以控制灯光对场景的影响。依次点击Window > Lighting按下图设置场景:

3.场景包含一个简单的面片(Plane)和一个立方体(Cube),为了将这些物体包含进灯光烘焙中,必须将它们设为静态(Static)。摄像机是可选的,如果场景包含摄像机,需要将背景设为黑色。说到摄像机,如果在Game和Scene视图中,立方体下方的阴暗处,最终的烘焙效果出现带状,可以通过在摄像机组件中打开HDR来解决这个问题。

4.最后,本例场景中的光源是点光。将点光源的Baking设置设为Baked,阴影类型(Shadow Type)设为Soft Shadows。所有这些设置完成后就可以开始测试了。

点光和聚光灯---烘焙的阴影半径

为了在Unity5中实现点光和聚光灯的光照衰减,需要将灯光的阴影类型设为软阴影。做以上操作时会出现一个叫做阴影半径(Baked Shadow Radius)的变量。下面你将看到这些设置会如何影响光照烘焙的效果。

这些设置的目的是演示在Unity5中如何控制点光的软阴影。白色球体充当一个半径可视器,它对应烘焙的阴影半径均匀缩放。这意味着如果烘焙的阴影半径设置为0.5,这可通过将球体均匀缩放0.5表现出来。

方向光-烘焙阴影角度

方向光在虚拟场景中常用作日光。在将方向光做为场景中的日光前,有必要思考一下日光的特点。尽管光是直线传播的,太阳无限远,但下图的阴影也不会是完全平直的。

方向光可以使用烘焙阴影角度(Baked Shadow Angle)变量来表示软阴影的效果。仔细看下图了解不同设置的不同表现。

区域光

区域光在Unity5中才可烘焙,自带软阴影,只需按照下图所示进行瞄准和烘焙即可。将区域光放置在窗户外,可以很好的为室内场景再添一束光。

希望你看完本文后对软阴影有了一定概念,并学会了如何在Unity 5中创建及应用软阴影以增强场景的真实感。

原文链接: http://www.gamasutra.com/blogs/TinoVanderKraan/20151120/259935/Baked_Sof...

以上是关于Unity5中的软阴影烘焙的主要内容,如果未能解决你的问题,请参考以下文章

升级Unity5-----Unity5灯光烘焙与Unity4 灯光烘焙实际应用中的差别

unity5 清晰的光影怎么烘培

Unity5中的MetaPass

Unity5.X灯光烘焙与4.X在实际应用中的区别和注意事项

Unity5.0实时阴影的优化

为啥我的Unity5里面的GI的lightunity3d bounce boost无效