This time i got a strange issue with lightmapper. I set somewhat equal texture resolutions on different parts of my model in Blender, but get different lightmaps resolution in Unity.
As you may see, the lightmaps of the floors are different, despite the fact that they have the same lightmap resolution in Beast - 5000 texels per world unit in this example. Another strange thing is that Beast doesn’t allow me to change the lightmap resolution on individual parts of the model, yet it seems to limit the maximum resolution of the lightmaps (it stops scaling checkertexture at certain point).
How are the secondary lightmap UVs being generated… In Unity or Blender? Are you creating proper secondary UVs in Blender or is that first picture showing primary UVs?
5000 texel a per world unit is insanely high! Are your models super small in Unity?
The lightmap UVs are generated in Unity within the import settings. The first picture shows the primary UV in Blender.
5000 is a number i chose to check the max quality of the lightmapping i can go with. For now i’m concentrated on quality, not perfomance.
The models don’t seem to be small in Unity, everything looks fine in comparison to the standard Unity game object (1x1x1 cube).
I’m starting to think that the issue is somehow related to the fact that the UV island of the probem floor object is much bigger than the UV canvas (UV square) in Blender as the texture is supposed to be tiled with no changes at all. If i place them within the UV borders it leaves a lot of wasted UV space, because of the proportions and shape.
The floor is not the only object with the same problem. Reconfiguring the UVs will produce either wasted UV space or unnecessary seams, which is what i’m trying to avoid.
The UVs you create in Blender have no relationship to the UVs generated by Unity for the lightmap.
The reason your floor is different from other objects is because it’s being unwrapped into a single 0-1 UV space for the lightmap and is reaching the maximum texel resolution to fit into a single texture. If you want the floor to have higher resolution you need to break up the floor mesh into smaller pieces in Blender.
Are there any guides to follow on this topic (keeping lightmap resolution consistent) or it’s just a trial and errors workflow? In other words, is there a way to predict/control the behavior of Beast in terms of lightmap resolution (something like: always split your objects with the dimentions larger than XYZ Unity units or other)?
Anyway, thanks a lot for your help! I’ll try that asap and will share the results here.