Lightmapping: Getting started
UV overlap feedback

Lightmap seam stitching

Lightmap seam stitching is a technique that smooths unwanted hard edges in GameObjectsThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary
rendered with baked lightmapsA pre-rendered texture that contains the effects of light sources on static objects in the scene. Lightmaps are overlaid on top of scene geometry to create the effect of lighting. More info
See in Glossary
.

Seam stitching works with the Progressive Lightmapper for lightmap baking. Seam stitching only works on single GameObjects; multiple GameObjects cannot be smoothly stitched together.

Lightmapping involves Unity unwrapping 3D GameObjects onto a flat lightmap. Unity identifies meshThe main graphics primitive of Unity. Meshes make up a large part of your 3D worlds. Unity supports triangulated or Quadrangulated polygon meshes. Nurbs, Nurms, Subdiv surfaces must be converted to polygons. More info
See in Glossary
faces that are close together but separate from each other as being separate in lightmap space; the edges of these meshes are called “seams”. Seams are ideally invisible but they can sometimes appear to have hard edges depending on the light. This is because the GPU cannot blend texel values between charts that are separated in the lightmap.

Seam stitching is a technique that fixes these issues. 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. You enable Stitching on the GameObject’s MeshRenderer.

A Scene without seam stitching
A Scene without seam stitching
A Scene with seam stitching
A Scene with seam stitching

To enable seam stitching on a GameObject, go to the GameObject’s Mesh RendererA mesh component that takes the geometry from the Mesh Filter and renders it at the position defined by the object’s Transform component. More info
See in Glossary
component, open the Lightmap Settings section (only accessible if you are using the Progressive Lightmapper), and tick Stitch Seams.


Did you find this page useful? Please give it a rating:

Lightmapping: Getting started
UV overlap feedback