Unity中的Lightmapping
图形图像技术CGGraph渲染图形学地编场景制作
显示全部 10
8067 142
实名

通过了实名认证的内容创造者

发布于 2018-10-23 17:59:24

您需要 登录 才可以下载或查看,没有账号?注册

x
在Unity3D中,场景可以从大气照明和这些灯光投射的阴影中获益。如今大部分都可以实时完成,并且可以获得一些令人惊叹的结果。但是,场景越复杂,对运行场景的计算机的要求就越高。对于复杂场景,建议将环境的光照信息烘焙到纹理贴图中,以便只需要进行一次此光照的计算。设置你的灯光和环境有时可能有点棘手,没有立即给你你可能会得到的结果。本博客将介绍为Unity3D场景创建光照贴图的一些基础知识,以及一些提示和技巧,以帮助您更快地获得愉快的结果。
以下内容仅涵盖使用Baked Global Illumination在Unity 5中烘焙光照贴图,并且不会涵盖任何预先计算的实时全局照明。
Lightmapping快速启动
这几乎是一个简单的场景,平面,立方体和定向光看起来没有任何照明。
Blog-LightBake_04-1024x886.png
具有平面和立方体的默认Unity场景


为了将您的照明信息烘焙到光照贴图中,您需要告诉Unity至少两件事。哪个灯光将其信息烘焙,哪些物体将在场景中保持静态。
第1步:将对象标记为静态
Blog-LightBake_02.png
对象设置为静态

第2步:将场景灯设置为烘焙而不是实时

照明烘焙模式设置为烘焙

最后,在“照明”选项卡中选中“烘焙GI”后,您应该看到灯光已经进入这个小测试场景。在照明选项卡的右下角,您将看到已烘焙的光照贴图数量,分辨率以及光照贴图的文件大小。现在已经完成了基础知识,让我们看看一些可以让我们对此进行控制的旋钮,拨号盘和选项。

简单的场景设置烘烤光照贴图

使用“生成光照贴图UV”对自定义对象进行光照贴图
3D对象可以具有多个UV通道。通常,对象将其纹理位置信息存储到UV0通道中。默认情况下,Unity将使用UV0通道烘焙光照信息,如果您有重叠的UV,通常不会产生理想的结果。使用Maya或3ds Max等3D软件包,您可以在UV1通道中创建一组UV,Unity将在烘焙光照信息时参考这些UV。您还可以通过选中.fbx导入器设置中的“生成光照贴图UV”框,让Unity在UV1通道中自动生成信息。

生成Lightmap UV

在非有机物体上,自动生成这些光照贴图UV非常有用。在有机物体上,我建议创建自定义UV1通道,因为自动生成的结果通常会将光照贴图接缝放在相当明显的位置。
连续/自动烘烤
这是一个可以在“照明”面板底部找到的复选框。保持打开状态时,在您继续工作时,将在后台自动计算场景或照明设置中的任何更改。除非你有一台机器的野兽或在一个非常小的场景上工作,否则我建议你不要这样做,只在你需要的时候构建你的光照贴图。此外,在手动烘焙光照贴图时,Unity会将光照贴图存储在与场景相同的文件夹中与场景同名的文件夹中。

连续/自动烘烤

烘焙全局照明设置光照贴图分辨率和填充
增加光照贴图中分辨率的方法是增加光照贴图中每个单位的纹素(纹理像素),值越高,创建的地图越大。如果您注意到某些光信息开始混合或渗透到对象的错误表面,您可以尝试增加填充,以便UV岛之间的光照贴图上有更多空间。如果您注意到渐变上的压缩瑕疵,可以尝试取消选中“压缩”,但会牺牲光照贴图文件的大小。最后,间接分辨率将决定每单位纹素的反射光分辨率。正如您可能从下面的图像中看到的那样,将这个值推到2点以后并没有太大的明显效果。

间接分辨率接近0


间接照明2


间接照明4

环境光遮蔽
为了使您的对象在环境中更加接近,通常会添加所谓的环境遮挡。环境遮挡基本上是当表面彼此靠近时区域看起来更暗的现象。“照明”选项卡中的“环境光遮挡”值确定此效果的强度,“最大距离”是沿曲面的距离,此时此效果不再可见。我用于以下示例的立方体是1立方单位。最大距离为0.5时,此效果的衰减因此在该立方体的中途传播。环境遮挡强度为5时,现在可以很清楚这是如何工作的。

没有烘烤GI,没有环境遮挡


烤GI,环境遮挡1,最大距离为1


烤GI,环境遮挡5,最大距离0.5

最后的聚会
至于Lighting选项卡的Baked GI部分中的最后一个选项。我不太清楚Final Gather有什么明显的额外好处可以证明额外的烘焙时间,但如果有人在那里知道并且可以告诉我,那就太棒了。
常规全局照明设置
Unity的照明选项卡中的此部分包含预先计算的实时GI和烘焙GI之间共享的设置。我不会进入定向模式,因为它在Unity论坛的博客文章中得到了很好的解释:http://forum.unity3d.com/threads/directional-lightmaps.280716/。在“照明”选项卡中,Unity的工具提示可以揭示“间接强度”和“弹跳增强”的确切作用。
间接强度

间接强度工具提示

反弹提升

Bounce Boost工具提示

Unity照明选项卡中的默认参数会影响烘焙质量。我通常在烘焙过程的初始阶段将其设置为'Default-VeryLowResolution',以便让我更快地意识到问题而无需等待很长时间才能完成烘烤。然后,当我合理地确定没有大的光照问题时,我将默认参数设置为更高的分辨率。
地图集大小
此值确定光照贴图的尺寸(以像素为单位)。当使用大型表面(如地板或天花板)时,您可能会注意到1024的图集大小可能还不够。在这种情况下,您可以剪切网格,以便光照贴图可以分布在更多纹理贴图上。另一个选择是增加光照贴图的图集大小,以便有更多空间放置信息。在考虑非常大的纹理贴图时,请尽量记住目标平台。您可能遇到的一点是,当拨打Atlas尺寸达到4096或更高时,“照明”选项卡仍然会将光照贴图设置为2048px。当您手动启动光照贴图烘焙并且光照贴图将作为纹理显示在项目中时,会发生这种情况。默认情况下,光照贴图的纹理导入设置将设置为2048px。

Atlas Size设置为4096,禁用连续烘焙。手动打孔纹理的最大尺寸

技巧和窍门高级生成光照贴图UV
FBX导入设置中的此部分允许您确定如何自动生成该对象的UV1通道。这对于自动为不具有完美90度角的物体生成UV的问题非常有用。

生成Lightmap UVs Advanced选项

预览Texel密度
在场景视图的左上角,您可以找到一个下拉列表,可以更改您看到场景的方式。在此下拉列表的底部,您可以找到全局照明的预览选项。该列表中的最后一个选项应该是'Baked'。这允许您预览光照贴图的纹理像素分辨率。较小的正方形表示光照贴图中每单位纹素的分辨率更高。

预览Texel密度

在Lightmap中缩放
在“照明”选项卡的“对象”部分下,您可以找到特定于对象的照明设置。其中之一是'Scale In Lightmap'。此值确定此对象在光照贴图中占用的空间大小。结合Texel密度预览,您可以看到当您点击该烘焙按钮时,它的分辨率如何转换。在确定光照贴图中的比例时,这可以非常有用,可以最大限度地利用光照贴图纹理,以获得距离相机不同距离的静态对象。

在Lightmap中缩放

只烘烤物体的阴影
有时,对象在光照贴图中投射阴影很有用,但不能自己接收任何光照贴图信息。在这种情况下,您可以将“在光照贴图中缩放”设置为0。

缩放在Lightmap中设置为0

如果在对象的Mesh Renderer组件中启用了此对象,则此对象仍将受到lightprobes的影响。我发现使用它的一个好处是停放的汽车。由于在我们的一个场景中汽车的细节和弯曲的性质,从烘焙这些物体获得良好结果变得非常昂贵。解决方案是不烘烤汽车,而只是他们的阴影和环境遮挡。

没有光照贴图,投射阴影,受光探测器的影响

考虑哪些灯要烤,哪些要保持实时和何时
在撰写本文时,灯光上的混合阴影设置尚​​未在Unity 5.0中正常工作。“混合阴影”设置通常允许将灯光烘焙到环境中,同时还支持近光灯投射实时阴影。例如,当角色走过灯光并投射出漂亮的阴影同时具有环境遮挡和烘烤环境阴影以在距离相机较远的距离处享受时,这是非常好的。Unity意识到混合阴影问题,我不能等待它被修复。与此同时,我们仍然希望在游戏中拥有实时阴影。一种方法是只让重要的灯光投射到环境中所需的阴影。

手动混合实时和烘焙照明

希望你从这个博客中得到一些有用的东西,也许它可以帮助你开始在Unity中进行lightbaking,或者它可以扩展你已经知道的东西。无论如何,如果你想跟进一些问题,或者你有一两个技巧来教我关于Unity,那么你总是可以把我联系到Twitter @tinovdk。考虑与可以从中受益的人分享这一点。感谢您阅读到最后。^^


评分

参与人数 1活跃度 +12 展开 理由
小小橘子... + 12 地编用的吧~

查看全部评分

还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
苦茶  发表于 2018-10-23 22:10:28  
2#
资源发布哪家强,元素首发称大王
回复 收起回复
使用道具
CG_east  发表于 2018-10-23 22:49:32  
3#

太棒了,谢谢楼主分享!
回复 收起回复
使用道具
ceeka  发表于 2018-10-23 23:48:14  
4#
想要成大触,天天上元素
回复 收起回复
使用道具
qq_皮皮怪_eQq  发表于 2018-10-24 00:07:52  
5#
高端大气上档次,低调奢华有内涵!
回复 收起回复
使用道具
想ing  发表于 2018-10-24 08:19:04  
6#
元素帖子强,满满正能量!
回复 收起回复
使用道具
fengzhiyun  发表于 2018-10-24 08:34:58  
7#
感谢分享~~~~~~~~~
回复 收起回复
使用道具
天线宝宝它二姨  发表于 2018-10-24 10:44:08  
8#
满满正能量
回复 收起回复
使用道具
woshiding0  发表于 2018-10-24 11:09:36  
9#

满满正能量
回复 收起回复
使用道具
woshiding0  发表于 2018-10-24 11:09:39  
10#

满满正能量
回复 收起回复
使用道具
woshiding0  发表于 2018-10-24 11:09:43  
11#

满满正能量
回复 收起回复
使用道具
woshiding0  发表于 2018-10-24 11:09:48  
12#

满满正能量
回复 收起回复
使用道具
Liuza  发表于 2018-10-24 11:17:10  
13#
满满正能量
回复 收起回复
使用道具
qq_马卡龙_WRh  发表于 2018-10-25 09:27:01  
14#
元素帖子强,满满正能量
回复 收起回复
使用道具
qq_剑心_Fj6  发表于 2018-10-27 08:55:19  
15#
元素帖子强,满满正能量
回复 收起回复
使用道具
星舰与太阳  发表于 2018-10-27 09:04:03  
16#
回复 收起回复
使用道具
fengzhiyun  发表于 2018-10-27 09:08:11  
17#
感谢分享~~~~~~~~~~
回复 收起回复
使用道具
呐呢  发表于 2018-10-27 09:33:07  
18#
感谢楼主~
回复 收起回复
使用道具
呐呢  发表于 2018-10-27 09:33:37  
19#
感谢楼主~
回复 收起回复
使用道具
hk77160  发表于 2018-10-27 09:34:24  
20#
元素帖子强,满满正能量
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表