Version: Unity 6.7 Alpha (6000.7)
Language : English
Lightmap UVs and packing
Baked lightmap UVs

Lightmap generation process

The lightmap generation process is as follows:

  • UV Mapping: By default, Unity uses the mesh’s imported UVs. You can also make Unity generate a per-mesh UV layout with UV charts for each mesh. A margin separates charts within the same layout.

  • Packing: Unity packs multiple UV layouts into a shared UV atlas. Padding between different UV layouts in the atlas optimizes texture space and prevents bleeding.

  • Texture generation: Unity converts the UV atlas into the final lightmap texture that contains the pre-calculated lighting data.

Unity uses real-time lightmap UVs for the Realtime Global Illumination system and baked lightmap UVs for the Baked Global Illumination system. There are two reasons for this:

  • There’s no direct correspondence in the grouping of instances between real-time and baked lightmaps; instances that are in the same real-time lightmap might be in two different baked lightmaps, and vice versa.
  • Meshes that appear at different scales share lightmap UVs in baked lightmaps, but don’t share UVs in real-time lightmaps.
Lightmap UVs and packing
Baked lightmap UVs