深圳HTML5培训-高端面授深圳HTML5培训机构
云和教育:云和数据集团高端IT职业教育品牌
  • 华为
    授权培训中心
  • 腾讯云
    一级认证培训中心
  • 百度营销大学
    豫陕深授权运营中心
  • Oracle甲骨文
    OAEP中心
  • Microsoft Azure
    微软云合作伙伴
  • Unity公司
    战略合作伙伴
  • 普华基础软件
    战略合作伙伴
  • 新开普(股票代码300248)
    旗下丹诚开普投资
  • 中国互联网百强企业锐之旗
    旗下锐旗资本投资

Unity干货:提高Lightmap烘焙质量的一些小技巧

  • 发布时间:
    2019-02-16
  • 版权所有:
    云和教育
  • 分享:

在Unity场景中,Lightmap烘焙主要考虑二点:时间消耗与烘焙质量。我们曾给大家讲解过如何提高烘焙速度(Unity干货:加速Lightmap烘焙速度的一些小技巧)。

我们把烘焙的时间流程缩短后,可能会发现某些地方的烘焙质量不够,这时候该怎么补救呢?我们可以通过下面列举的方法进行微调。

配图1 Unity干货:加速Lightmap烘焙速度的一些小技巧.jpg

1、Selective Lightmap Scale

配图2 Selective Lightmap Scale .jpg

通过Mesh Renderer上的Scale in Lightmap调整特定物体在最终Lightmap中的像素密度。这个选项大家应该经常用到,需要提醒是:这个值并不能影响间接光的质量。因此在感觉物体接收到的间接光质量太差的情况下,调整这个值并不能起作用,这个时候需要调整间接光Lightmap的分辨率。

物体在最终Lightmap上的像素密度可以通过Scene view中的Baked Lightmap模式并勾选列表最下方的Show Lightmap Resolution来可视化。

2、Increase Indirect Quality Per Object

上面提到对特定物体提高间接光质量不能通过Scale In Lightmap参数,这时需要调整Lightmap Parameters中的Resolution参数。虽然Resolution参数位于Precomputed Realtime GI分类下,但是因为Baked GI也需要使用同一个系统计算间接光分布,因此这些参数直接影响Baked GI中的间接光计算过程。

配图3 Increase Indirect Quality Per Object.jpg

我们可以通过Scene view中的Global Illumination->UV Charts并勾选列表最下方的Show Lightmap Resolution可视化物体在间接光Lightmap上的像素分布,如下图所示。

3、Play Around With UV Padding(Baked UV)

调整UV Chart间的Padding基本都是为了消除Chart之间的Color bleeding。Padding有二种类型,一种是同一个Mesh Render内的UV Chart间的Padding,一种是不同Mesh Render间Chart的Padding。前者需要通过模型制作软件调整,如果Lightmap UV让Unity生成的话也可以在模型导入选项中通过Pack Margin参数调整。后者通过Lighting窗口中的Lightmap Padding参数调整。

配图4 Play Around With UV Padding(Baked UV) .jpg

Pack Margin

配图5 Lightmap Padding.jpg

Lightmap Padding

4、 Remove the Compress Lightmaps Option

出于优化内存的考虑,一般开发者都会勾选Lighting窗口中的Compress Lightmaps选项。Lightmap压缩会让着色质量下降,反过来我们可以在Lightmap Resolution不高的情况下不勾选这个选项,有可能就能达到我们想要的质量。因为提高Lightmap Resolution的方式对于Lightmap大小的增加量并不可控,可能最后得到的Lightmap size比一开始不压缩的size还要大。因此在微调质量的时候可以尝试反勾选这个选项,也许会有意外的发现。

5、Play Around with Baked Shadow Angle

配图6 Baked Shadow Angle.jpg

在阴影质量不佳而决定提高Lightmap Resolution之前,我们还可以尝试调整灯光上的Baked Shadow Angle对其烘焙阴影进行一定程度的模糊。参数如下图。

6、Blur the Lightmap

配图7 Blur Radius参数对指定物体的lightmap进行整体模糊.jpg

除了对阴影进行模糊,我们还能通过调整Lightmap Parameters中的Blur Radius参数对指定物体的lightmap进行整体模糊。在低lightmap精度要求下需要改善质量的时候不妨尝试下调整这个参数。一般建议设置在2-4之间。

今天云和数据有关Unity中提高Lightmap烘焙质量的一些小技巧的分享就到这里了,希望这篇文章能对你有所帮助。更多相关问题敬请询问在线的客服老师为您答疑。