Unity3d 如何摆脱统一中的“影子牙”?

Unity3d 如何摆脱统一中的“影子牙”?,unity3d,graphics,shadow,Unity3d,Graphics,Shadow,我什么都试过了,但没有什么能影响这一点。唯一的问题是,当我将阴影分辨率更改为低时,它显然变得更平滑,但仍然不是最好的。如果视角不那么锐利,这些阴影看起来也会更好。质量设置是最好的,光源是聚光灯。这些东西上的材质使用标准着色器。我做错了什么 图像放大了 您是否在质量设置下尝试过稳定贴合?您……无法: 问题在于,投射的阴影本质上只是一种纹理。纹理点也就是像素是正方形的。然后从光源投射阴影纹理,将灯光视为摄影机:它可以看到的每个像素都是对象,在光照贴图中成为暗像素;这比那要复杂一点,但也不多 你的物体

我什么都试过了,但没有什么能影响这一点。唯一的问题是,当我将阴影分辨率更改为低时,它显然变得更平滑,但仍然不是最好的。如果视角不那么锐利,这些阴影看起来也会更好。质量设置是最好的,光源是聚光灯。这些东西上的材质使用标准着色器。我做错了什么

图像放大了


您是否在质量设置下尝试过稳定贴合?

您……无法: 问题在于,投射的阴影本质上只是一种纹理。纹理点也就是像素是正方形的。然后从光源投射阴影纹理,将灯光视为摄影机:它可以看到的每个像素都是对象,在光照贴图中成为暗像素;这比那要复杂一点,但也不多

你的物体和光线绝对不是相互垂直的。事实上,当你们的立方体彼此旋转五到十度,形成一条曲线时,你们永远都不可能做到。这意味着某个边缘,某个地方,会变得锯齿状。这也解释了为什么将灯光的位置和方向更改为不同角度会影响结果:这些边与光照贴图像素的位置更接近或不太接近

您可以尝试各种设置,例如稳定的拟合或更高质量的阴影。这实际上只是使用更大的纹理,以便随着同一体积被更多阴影像素覆盖,这些锯齿变得更小,但从根本上说,您不会获得更好的结果

除非 使用烘焙照明。打开“照明”窗口->照明,将灯光设置为“烘焙”而不是“前进/延迟”,这意味着它们不会实时移动或以其他方式更改,然后在“照明”窗口中烘焙灯光

这实质上创建了第二个纹理,该纹理包裹在对象周围,并为对象提供阴影和不同排列的像素,通常在对象的面与阴影投射边缘(例如堆叠的立方体)对齐时提供更平滑的阴影边缘。纹理也比运行时灯光纹理大得多,因为它不必每帧重新计算实时灯光受到限制,因此它们不会消耗千兆字节的视频RAM


烘焙需要一段时间,让它自己做吧。

对不起,我是说稳定贴合。不管怎样,您是否测试过应用antialias?