简介: 项目中为美术写的一些着色器需要在烘焙时使其自发光能产生光照,这个理所当然得就想到了自定义个 meta pass 即可。问题随之而来
unity版本: 2022.3.14
管线:URP
问题
参照这官方标准着色器写了一版自定义的 meta pass。这里就不再展示了。
完成后测试正常,美术当时使用时也是正常的。
但是不久后就出现了问题,有的材质自发光属性无法参与烘焙。
这就很是奇怪了,于是就深入探究了一番
处理方法
就写探索过程了,就是一遍一遍尝试,一点一点对比自定义着色器和官方的区别,最后结果出在材质的 flag上
在网上搜到了一篇文章 解决方案写的很是详细。
直接的解决方案就是 材质球上有一个 Lightmap Flags 属性,这个属性在 Debug 模式下是可以看到的。
我的处理方式是在 材质的 GUIEditor 下直接做了设置
var mat = target as Material;
mat.globalIlluminationFlags = MaterialGlobalIlluminationFlags.BakedEmissive;
网友评论