三维软件里面明明分好UV了,为什么会出现UV重叠的提示?
每张光照贴图都包含了一些图表(charts)。在运行时,Unity 将这些图表映射到网格表面,然后利用它们的光照数据计算最终的外观效果。由于 GPU 采样的工作方式,如果图表相互靠得太近,那么一个图表上的数据可能会渗透到另一个图表上。这通常会导致意料之外的锯齿、像素感,以及其他的图像效果(这些被称为人造效果)。
为了避免灯光渗透,图表之间就必须具有足够的空间。当 GPU 对一张光照贴图采样时,光照系统将对采样点周围最近的四个纹素(texels)进行采样,从而计算得出最终的采样值(假设使用的是双线性(bilinear)过滤)。这四个纹素被称为采样点的双线性“相邻纹素”。如果纹素相互重叠,就说明图表靠得太近了——即:一个图表上任意一点的相邻纹素,与另一个图表上任意一点的相邻纹素重叠了。
为什么Enlighten烘焙不会出现UV重叠的提示,而渐进式烘焙会有?
因为Unity中对于UV间距的要求,Progressive比Enlighten更加严格。
解决方法
1.在三维软件中制作2U,并且增大UV之间的距离。
2.如果用Unity自带的分UV工具,那么增大Pack Margin的值。
3.提高烘焙质量,主要是提高光照贴图的分辨率(Lightmap Resolution)。
4.增大烘焙模型的Scale In Lightmap的值。