随随随随笔Unity中的光渗(Light Bleeding)现象和阴影瑕疵(Shadow Acne)

Posted 你好!并且希望你更好.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随随随随笔Unity中的光渗(Light Bleeding)现象和阴影瑕疵(Shadow Acne)相关的知识,希望对你有一定的参考价值。

最近在做个《MInecraft》,但是出了个奇怪的问题:

 

图为单一区块在平面上的投影

可以看到,方块的面之间像是有条缝似的,在平面上留下了六边形的图案,可以说是非常奇特和诡异了

一开始,我想说不定是浮点运算不精确的问题导致的,直接把面稍微放大一点就好了,但是放大一点并没有解决,再放大方块都明显不是立方体了……

 

后来查文档(Unity 用户手册 (2019.4 LTS)/图形/光照/阴影/阴影故障排除),有这么一段话:

反正我是没看懂啥叫光渗……

必应一下,搜到了这个:Layered-->Variance-->Shadow Map - lookof - 博客园 (cnblogs.com)

好,一堆数学公式和看不懂的术语,但是图还是看得懂的:

 

这不是和我碰到的问题几乎一模一样嘛,可以确定上文的六边形网格图案就是“光渗”了。

解决方法也很简单,如文档所述,Mesh Renderer里面把“照明-投射阴影”改为“双面”就行了。

后来又发现,把光源的法线偏移量设置成0也可以解决这个问题。

 

那么,“法线偏移”又是干什么的呢?

 

 

 

如图是初学者经常碰到的一个现象:光源方向有条纹状图案(其实也就是错误的阴影),调整距离图案会呈圆形/椭圆形消失掉

这就是阴影瑕疵(Shadow Acne),见:关于Shadow Mapping产生的Shadow Acne,我的理解是不是有问题? - 知乎 (zhihu.com)

刚才提到的Unity文档中也有说到:

 

 法线偏移正是修正阴影瑕疵的一种手段,但是可能会引起上文的光渗现象

 

至此,我碰到的两种阴影问题就讲完了。

收获则是,影子的问题去光源里找解决办法。

 

以上是关于随随随随笔Unity中的光渗(Light Bleeding)现象和阴影瑕疵(Shadow Acne)的主要内容,如果未能解决你的问题,请参考以下文章

随笔新新随随笔随随随

这世界没有人能随随便便成功

我就是一个无名的菜鸟之简简单单随随便便的记录

软件测试提升之路---月薪20k随随便便!

第2次作业:随随便便又是一个响响亮亮的标题!

Unity3d_Light Probe使用方法