4
$\begingroup$

I selected all my objects, then I did a "Lightmap Pack". Initially, it seemed like everything went ok. However, when I look closer, it seems to have stretched some the UVs.

enter image description here

The shape of the selected UV on the left, is not a match for its corresponding face on the right. Why couldn't it preserve the shape?


Update #1: I did more looking around, and noticed that the smallest faces seem to map correctly; notice how this tiny square face (from the same object as the big one) actually did the mapping correctly. I also (for sake of trying) did an "Apply Scale" to all my objects, it seems to have made no difference (even after re-doing the lightmap pack).

enter image description here


Update #2: Max'ing the "quality" setting for Lightmap Pack didn't seem to fix it, or even make it any less distorted.

$\endgroup$
2
  • 3
    $\begingroup$ Is your object scaled? Try applying the scale (Ctrl A) and unwrapping again $\endgroup$
    – gandalf3
    Jul 21, 2015 at 18:50
  • $\begingroup$ @gandalf3 No; nothing is scaled. That face (and its vertices) are from an import of an .obj. $\endgroup$
    – Mr. Smith
    Jul 21, 2015 at 18:57

1 Answer 1

3
+25
$\begingroup$

The purpose of Lightmap Pack command is to utilize as much UV space as possible by storing each face (individually) in the UV space bounds.

I must admit that I can't tell you how exactly the algorithm works, but if you consider two similar objects that differ only from the lenght of a face (8.0 vs 8.1) you'll see different results of the lightmap pack command.

In the shortest parallelogram, each face is not "enough" different from the average face size of the object, so they are all stored with the same size in the UV. The proportion are not preserved. They are stretched to fill the boundaries.

enter image description here

In longest parallelogram, Blender sees instead that some faces are much longer than other (they just get over the alghorithm thereshold), so it is aware that they should need more space.

Notice that also in this case, despite what could it seem, proportions are not mantained. The Face is 2:8.1, while the UV is more 2:4. That's because Blender look for the best way to fill all the UV space, regardless proportion. This is a uv layout for Baking textures efficently.

enter image description here

If you are interested in keeping the proportions, Lightmap pack is not the right UV unwrapping method.

In the brought example I would separate each face by extruding them individually by a 0 factor, than Crtl+i to invert seelction and Canc to delete unwanted faces.

enter image description here enter image description here

Than a simple Unwrap or Smart unwrap, should pack all the faces preserving their proportions in the UV map.

enter image description here

$\endgroup$
7
  • $\begingroup$ But lightmap is the only unwrap that allows you to do a batch unwrap; if I use a simple/smart unwrap, I have to join all the objects. $\endgroup$
    – Mr. Smith
    Jul 27, 2015 at 17:03
  • $\begingroup$ You can run the command Smart Unwrap without joining them. Exit edit mode, go to Object mode, select all objects, press the spacebar and then type "Smart UV Project" with your settings. $\endgroup$
    – Carlo
    Jul 27, 2015 at 18:15
  • $\begingroup$ oh? awesome, but it still appears distorted, and I even tried applying scaling prior, it's still distorted. $\endgroup$
    – Mr. Smith
    Jul 27, 2015 at 19:06
  • $\begingroup$ That's because Smart Unwrap try automatically to fill the UV space so it scale all the faces by the same factor on one axis and than by another factor the other axis. There are no correspondences between the units in the model (meters, inch...) and the units of the UV/Image editor (which are pixels). If it would be possible to edit at the same time the UV of different objects, it would be just a matter of scaling on one axis. This would led to a non-completely filled UV-Layout...is that your purpose? Consider also that the proportion of your texture modifys the appearence of the UV map. $\endgroup$
    – Carlo
    Jul 27, 2015 at 20:02
  • $\begingroup$ You said Smart Unwrap "should pack all the faces preserving their proportions in the UV map" well it doesn't. Scaling in one axis of the UV map might be a workaround though, presuming you're right about the implementation of Smart UV. I'm skeptical that your idea actually works because notice on my original question that some of the faces did infact appear correct, so it doesn't preserve portions even along a single axis. $\endgroup$
    – Mr. Smith
    Jul 27, 2015 at 20:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .