找回密码
 立即注册
查看: 267|回复: 0

Unity光影烘焙常见问题

[复制链接]
发表于 2023-3-2 14:04 | 显示全部楼层 |阅读模式
本文首发于公众号洪流学堂,未经允许,不可转载。
Unity中光影烘焙经常会遇到很多莫名其妙的问题,大智总结了一个问题解决手册,本文是比较常见的一些问题,还有一些不那么常见的问题,《手册全文pdf》获取方法:洪流学堂公众号中发消息烘焙。
Realtime GI常见问题

卡在5/11 Clustering


主要原因是需要生成的Cluster数量非常多,计算量很大

    全局Indirect Resolution过大,导致需要生成过多Cluster

    大物体的Lightmap Parameters中Resolution或Cluster Resolution过高,导致需要生成过多Cluster

    小物体过多
      小物体不勾选Contribute GI,用Light Probe

卡在7/11 Lighting Transport


需要计算的总的像素数量过多

    全局Indirect Resolution过大

    单个物体,特别是大物体的Lightmap Parameters中Resolution未优化
      距离远的大物体,尽量减小Resolution

    小物体过多,有过多的小Chart生成
      小物体不勾选Contribute GI,用Light Probe

Baked GI(Progressive)常见问题

点了烘焙,没有效果


    物体没有标记GI Contribute

    场景中没有Baked或Mixed灯光
      检查灯光的Mode

    物体Shader不支持

      使用内置Shader测试

        内置管线Standard Shader

        URP/HDRP的Lit shader


光照贴图模糊


    大概率是因为Resolution过低,特别是直接光和阴影烘焙到lightmap的时候

    如果物体很大,也要考虑Max Lightmap Size是否过小

    展UV时,UV缩放不成比例(使用Scene窗口的Baked Lightmap绘制模式可以很容易看出来,不成比例地方的不是正方形),会导致光照拉伸看起来很模糊
烘焙时间很长没有结束


参考课程中《513大场景烘焙最佳实践》
贴图漏光


通常是因为漏光的区域在采样时,纹素同时处于明亮和阴影处。常见于有明亮的室外灯光的昏暗室内场景。

    调节lightmap UV
      如果原来UV是连在一起的,将亮部和暗部的UV拆分开

    提高resolution

    修改filtering设置,激进的Gaussian过滤(radius太高)会导致漏光

    调整模型的mesh

      物体不要发生交叉

      尽量使用单面,对于室内模型,再单独制作一个外面的壳子包住室内作为外墙

UV Overlap警告


物体内部Lightmap UV块之间间隔不够,导致可能会出现渗光

    如果是手动展的UV1,则增加UV块之间的间隔

    如果是在Unity中自动Generate Lightmap UVs,则调节参数增加UV块之间的间隔

    调高全局Resolution(此参数调高时,UV在lightmap中会更大,UV块之间的间隙也会增大,减少Overlap)

    调高单个物体的Scale In Lightmap(此参数调高时,UV会整体放大,UV块之间的间隙也会增大,减少Overlap)
物体没有光照


    静态物体没有标记GI Contribute

    如果是动态物体要添加Light Probe
      注意Mesh Renderer上的Light Probes选项不要是Off

    物体材质的metallic和smoothness都很高,反射度很高(类似不锈钢小球),此时如果场景中没有Reflection Probe,物体无法反射出周围的场景,会看起来是黑的或者错误的
      注意Mesh Renderer上的Reflection Probes选项不要是Off

自发光物体没有照亮周围


    材质中Emission部分的Global Illumination要设为Baked

    下图中间这种效果叫Bloom辉光,需要使用Post Processing中的Bloom效果

烘焙后光照错乱


    UV问题

      如果是在外部展的UV1,需要注意:

        UV不能有任何重叠

        UV块之间要有足够的间距

        UV尽量减少扭曲和变形

        UV的比例和原模型的尺寸成比例

        必须在[0,1]的UV空间中,不能超出

      如果是在Unity内导入设置中Generate lightmap UVs
        尝试在Margin设置中设置得更大


    模型背面漏光

      光源位置问题,尝试移动或关闭漏光附近的光源来定位问题灯光

      对于单面渲染的物体,如果光源从物体的背面照射,光就会穿透这个物体造成视觉上的异常。常见的比如室内场景,内墙单面渲染,平行光会穿透内墙,此时应该给室内场景加一个外墙来阻隔光线,或者内墙双面渲染(见下面一条)。

      尝试将附近模型的材质双面烘焙,勾选Double Side Global Illumination(有的Shader没有此选项可修改Shader解决)如下图


<hr>
本文是比较常见的一些问题,还有一些不那么常见的问题,《手册全文pdf》获取方法:洪流学堂公众号中发消息烘焙。

本帖子中包含更多资源

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

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-6-16 11:45 , Processed in 0.087162 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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