Mecanim 发表于 2023-3-2 14:04

Unity光影烘焙常见问题


本文首发于公众号洪流学堂,未经允许,不可转载。

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的比例和原模型的尺寸成比例

必须在的UV空间中,不能超出

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


模型背面漏光

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

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

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


<hr>
本文是比较常见的一些问题,还有一些不那么常见的问题,《手册全文pdf》获取方法:洪流学堂公众号中发消息烘焙。
页: [1]
查看完整版本: Unity光影烘焙常见问题