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$
  • 3
    $\begingroup$ Is your object scaled? Try applying the scale (Ctrl A) and unwrapping again $\endgroup$ – gandalf3 Jul 21 '15 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 '15 at 18:57
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$
  • $\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 '15 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 '15 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 '15 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 '15 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 '15 at 20:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.