Version: 2023.1
Fixing lightmap UV overlap
自定义衰减

光照贴图接缝缝合

接缝缝合功能可在使用烘焙光照贴图(由渐进光照贴图 (Progressive Lightmapper) 生成)渲染的游戏对象中平滑不需要的硬边缘。

无接缝缝合的场景
无接缝缝合的场景
有接缝缝合的场景
有接缝缝合的场景

When Unity bakes lightmaps, it identifies mesh faces that are close together but separate from each other as being separate in lightmap space; the edges of these meshes are called “seams”. Ideally, seams are invisible; however, they can sometimes appear to have hard edges. This is because the GPU cannot blend texel values between charts that are separated in the lightmap.

Seam stitching fixes this issue. When you enable seam stitching, Unity does extra computations to amend the lightmap to improve each seam’s appearance. Stitching is not perfect, but it often improves the final result substantially. Seam stitching takes extra time during baking due to extra calculations Unity makes, so Unity disables it by default.

When you enable seam stitching, the lightmapper identifies the pair of edges that it should stitch together, and produces illumination which is as smooth as possible across the seam. This applies only to straight edges which run horizontally or vertically along chart boundaries in the atlas, and is designed to work with rectangles which are axis-aligned in UV space.

接缝缝合的局限性

接缝缝合与渐进光照贴图 (Progressive Lightmapper) 配合使用。接缝缝合仅对单个游戏对象有效;多个游戏对象无法平滑地缝合在一起。

使用接缝缝合

You can enable seam stitching on any GameObject with a Mesh Renderer component. In the Mesh Renderer Inspector, navigate to the Lightmapping section and Stitch Seams.

Alternatively, you can use the MeshRenderer.stitchLightmapSeams API.

Fixing lightmap UV overlap
自定义衰减