12
$\begingroup$

I have a simple model that is symmetrical on the Y axis. When I unwrap it, with the entire model selected the two identical sides do not share the same rotation:

Weird UV island rotation

If I de-select the middle UV island (the long band of quads) and unwrap, I get a more reasonable result:

Reasonable result

How come?

$\endgroup$
  • $\begingroup$ Maybe that is the same problem as with subdivided (and long) meshes which for some reason tend to have stretched or unexpectedly rotated UV map, see blender.stackexchange.com/questions/35203/…. You can fix it by straightening and pinning one loop. This of course doesn't give the reason of behaviour. $\endgroup$ – Mr Zak Aug 28 '16 at 23:09
1
$\begingroup$

Blender by default uses a pretty outdated algorithm for island packing, it doesn't account for cavities in shapes, it creates a bounding box and disregards the rest and also it really doesn't care for angles much, it only looks at optimal solutions, if it's a square, it'll be packed properly, but if it has cutouts or beveled corners blender may align it to those in order to pack it more efficiently (at least according to the algorithm) So there are a couple of factors here:

First your third longest island is touching both sides of the UV space (I marked one visible side by a vertical line). Since it's touching the sides Blender can't scale other islands any more so they're stuck at this size, really their position doesn't matter much it's still very inneficient.

Second factor is Blender's default algorithm doesn't have good tools for evaluating such situations and the efficiency of packing here, if you're looking only at the bounding boxes areas it makes sense to align the second (lowest UV island) to the angle it aligned it to.

This sounds really complicated but it basically means that if you cut the longest segment into a few smaller ones, it might fix it, if it doesn't you might try unwrapping a single poly, pinning it and unwrapping the whole island to fix rotation.

When you're packing you have an option for rotation. But in general if you'd go with a different algorithm that accounts for cavities, simplifies the shape better (or at least looks at 3d angles) you wouldn't have this problem. It is being worked on I read but I have no idea when will it be integrated

There are two good addons for better UV packing that may make packing later much easier but you still need to unwrap it correctly first.

https://gumroad.com/l/uvpackmaster

https://gumroad.com/l/UVShotPacker

If you have any questions let me know Comparing what Blender did, to intuition

$\endgroup$
  • 1
    $\begingroup$ Appreciate the effort you put into this but some of this information is false and doesn't answer the question "Why". Blender's default packing isn't based on polyline perimeter, sadly. It only draws a simple XY-aligned box (known as AABB or axis-aligned bounding box) around the island which are much faster to work than polygons with when calculating overlap. When using UV unwrap operation the packing algorithm seems to use whatever rotation UV unwrap produces, Pack Islands-operation seems to find the least area AABB rotation. $\endgroup$ – kheetor Jul 19 at 8:12
  • 1
    $\begingroup$ The addons you mention DO NOT solve rotation issue, they are only used to pack islands more efficiently. On the contrary it means that whatever rotation gives you best efficiency will be used so your rotations will be even more erratic. $\endgroup$ – kheetor Jul 19 at 8:13
  • $\begingroup$ I edited the comment thanks! Both addons give you options for rotation however you still need to unwrap it correctly in the first place $\endgroup$ – Aras Jul 20 at 15:10
0
$\begingroup$

I don't know if this will fix your problem, since you haven't indicated which unwrap method your using, but it's important to apply rotation and scale (Al;t-A) to the object before unwrapping.

$\endgroup$
  • $\begingroup$ If OP used the Project from View method, this is why. The two sides are different relative to the view. $\endgroup$ – Mentalist Jun 4 '17 at 0:00
0
$\begingroup$

If you check the T menu after unwrapping and change angle based to conformal and see if that makes a difference. Also try alt-a for adverage size and ctrl-p (i think) to pack islands.

$\endgroup$

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.