setstats
View Cart
Category Tutorial TopicsLevel DesignGame Environment Art+DesignGame Modeling: MayaUnreal Engine 4UDKCryEngine 3 SDKCounter-Strike: Global OffensiveLeft4Dead 1 and 2Time Management and ProductivityGetting StartedBrowse Full Tutorial List

NEW: How to Create Game Environment Assets for Unreal Engine in 6 Easy Hours

UDK: How to Fix Lightmap Light/Shadow Bleeding and Seams

Category: UDK
May 28, 2012
Full Text Tutorial and Notes:

Very common errors you may encounter during lightmap process are light/shadow bleeds and seams. Knowing what causes them and how to fix these issues will make your models light and shadow better.

The following tutorial we will cover the following:

  • What causes light/shadow bleeds and seams and how to fix them
  • How to fix modular asset seams
  • How to fix bleeds with proper UV padding
  • Ambient Occlusion

UDK Lightmapping Series:

UDK: Lightmap Basics and 18 Important Principles for Creating and Using Lightmaps
UDK: Lightmap UV Layout Techniques and How to Create a Second UV Channel in Maya
UDK: How to Fix Lightmap Light/Shadow Bleeding and Seams
UDK: Lightmap Resolution for Static Meshes and BSP
UDK: Lightmap Common Problems and Solutions

BLEEDS CAUSED BY CONNECTED EDGES

One of the common bleed problems is connected UV edges where the geometry takes a change of direction which would cause a light change on the object.

Below is an example of a box where most of the edges are connected on lightmap UV:

Result in-game: shadow bleeds.

SEPARATE UV SHELLS

Next, we cut all the faces and separate them into their own UV shell.

Result in-game: clean lightmap.

AMBIENT OCCLUSION

You may notice the objects edges are darker and give an illusion of shadow bleeds.

Ambient Occlusion is indirect shadows that you see on objects around edges when they come in contact with other geometry. AO adds realism to the models. Think of AO as contact shadows.

By default AO is turned on. You can enable/disable AO in World Properties. When you build lighting you can turn on/off to see the AO results.

Turning on/offAO shading helps to see your lightmaps more clearly.

NOT ENOUGH SHELL PADDING

Lightmap shells require 2-4px padding to avoid bleeds.

Here are few shells that do not have proper padding:

Results in-game:

Give enough padding between each shell to avoid this problem. Check out this tutorial how to set up your grid to match lightmap resolution pixels.

SEAMS CAUSED BY IN-BETWEEN PIXEL UV EDGES

Seam problems are very common in modular asset geometry. Shadows begin to bleed onto geometry and putting same model up against each other becomes very noticeable.

This is caused by UV edges falling in-between pixel space in the lightmap.

Below is UV shell that has UV edges in-between pixels of the UV lightmap.

Result in-game:

In order to fix this, align your UV edges along the grid lines of UV layout. It helps to set up your grid lines in Maya to match the lightmap resolution in UDK. See how to set that up here.

Result in-game: clean edges.

Below is the same idea of UV edges falling in-between pixels of UV lightmap. Here I used a flat plane to demonstrate the error and how to fix it.

Result in-game: noticeable seams. This would be really noticeable if this were to be a modular building walls.

Edges aligned within UV layout.

Clean lightmap without any seams:

UDK Lightmapping Series:

UDK: Lightmap Basics and 18 Important Principles for Creating and Using Lightmaps
UDK: Lightmap UV Layout Techniques and How to Create a Second UV Channel in Maya
UDK: How to Fix Lightmap Light/Shadow Bleeding and Seams
UDK: Lightmap Resolution for Static Meshes and BSP
UDK: Lightmap Common Problems and Solutions

UDK© Bundle: UDK The Foundation & UDK Guide to Landscape Creation

© 2008-2017. All articles on World of Level Design™ are copyrighted.
Not to be reproduced without prior written consent.