While playing Left 4 Dead 2 today, I noticed something.
Some of the objects used vertex colors for their lightmap, instead of a second texture for the lightmap.
This is used sparingly, and mostly on smaller props that don’t need super detailed shadows, but still need some static shading to a degree
(See Boxes):
But what it is most useful for is rounded surfaces. Rounded surfaces are almost impossible to lightmap properly with a second texture, unless you hand unwrap all the lightmap UVs yourself.
Vertex colors might not be as accurate or detailed, but I personally feel huge seams near curves are much more distracting than slight lighting inaccuracies on the flatter areas.
Rounded Surfaces:
I don’t know how the memory of some vertex colors compares to the memory of a larger lightmap, but I can imagine that having loads of small props each being unwrapped onto a lightmap could be quite memory intensive.
Also, I know that there are some addons that do this, but it would be nice to see it integrated into the current lightmapping system on a per-object basis.
Also, I’m not an expert on vertex colors, but when using some addons I noticed that a copy of the mesh had to be created so that the vertex colors could be applied.
Is this a limitation that existed because the addon was not fully integrated into Unity, or is this an issue that even the Unity devs would run into if they would implement it into the engine? Because having a copy of every mesh with the vertex colors applied would be a horrible idea.
I’m interested in hearing everyone’s input.

