Lightmap UV positions and channels/layers in Blender

Hello everyone,

I have 2 questions to ask here so I’ll start with the serious one first.

1. As some of you may know Beast’s lightmap UV generator can be very tricky with complex surfaces, if not useless. I have a scene with some rounded objects and the way their lightmap UVs are generated is not practical at all. I mean they’re all over the place and therefore you get ugly seams with different colors on both sides.

As far as I’ve figured you can have a default UV layer (channel) for diffuse, normal, alpha, specular etc. and a second layer (channel) for lightmaps. So what I’m wondering is:

  • when I unwrap an object’s UVs do I leave it unwrapped on the whole grid or do I pack it with the rest of the objects from the default UV layer (as most of you know it is a good idea to pack several objects in one texture to gain performance)? Will Beast automatically pack all the UVs in the textures it generates or do I have to manually position them all?

  • I always export to FBX instead of just dragging the .blend file into the project source. However when I export the objects I don’t see an option for UVs. Does that mean that it can or can’t export more than one UV layers? And if it can, are the lightmap UVs always on the second layer?

2. This question is for the people involved in the development of the AngryBots demo. Looking through it, I can see that all the objects have lightmap UVs generated from within Unity unlike the Bootcamp demo which I assume used UVs from the 3D package the assets were modeled in. So, uhm, what kind of black magic did you use to generate flawless UVs in Unity?

Thanks.

Well, after some sidetracking and experimenting I have discovered that:

  • You have to unwrap the object on the whole UV grid. This way the texels will be evenly spread in Unity.

  • Yes, you can export multiple UV layers to FBX and Unity will pick up the second one for Lightmapping.

I still have issues (black areas) with some of the objects but because they’re flat (non-organic), you can generate the UVs from within Unity.

I hope this is helpful to people using Blender.