2
$\begingroup$

As far as I can tell (having recently come across an outstanding feature request on the official tracker), there is no way to maintain symmetry of a UV unwrapping that is comparable to the 3D mesh symmetry tools. And Copy Mirrored UV Coords appears to be broken (again, various reports floating about, and can't get it to do anything).

When you have a mesh that needs perfectly mirrored¹ UV coordinates, how do you achieve it? Lots of tedious manual coordinate editing? Hope to get lucky and have Blender's automatic unwrapping produce something that's already symmetrical? Or do you have a trick to make it easier?

(For bonus points, do you have any tricks for perfectly rotating an unwrapping that is symmetrical, but not aligned to an orthogonal axis?)

(¹ By "mirrored", I do not mean "duplicated", i.e. multiple faces that are mirror images in 3D sharing UV coordinates.)


Here's an example of the sorts of problems I run into on most of my models, using Sue: bad unwrapping of Sue

In this case, I lucked out with the back of the head and the ears, but the face is rotated, and the eyes are both rotated and oddly distorted. (The ears appear symmetrical but are badly distorted, but that's my fault for not seaming them better. Don't worry about the ears. The point of this is just to show that Blender does not producing symmetrical unwrapping "out of the box".)

This is particularly a problem with models that are "not very round". Consider, for example, a humanoid that is seamed with the front and back as separate. Obviously, both of these should be symmetrical, but unless I use a UV that is much taller than it is wide (which I've found tends to result in very sub-optimal packings with lots of wasted space), I obviously can't just mirror everything across x=0.5.

$\endgroup$
2
  • $\begingroup$ Do you have an example of a model where you are struggling to achieve this? I think symmetrical UV maps are normally the default! If you unwrap them using the normal process, so am struggling to see what the difficulty is. $\endgroup$
    – JeffUK
    Commented Aug 27, 2022 at 13:37
  • $\begingroup$ Um... anything? Sue? I'll add an example... $\endgroup$
    – Matthew
    Commented Aug 27, 2022 at 13:58

1 Answer 1

3
$\begingroup$

All you gotta do is unwrap your mesh as normal, make sure whatever "center" line parts of the UV are perfectly straight and centered at the .5 mark in the UV space (.5 X or .5 Y depending on which way you want to mirror.)

enter image description here

I wrote an operator awhile back that automatically aligns your UV Islands to the .5 mark. enter image description here

You can download that here if you want, (no guarantees on it working perfectly for you out the box, it's not an addon, it's just my personal scripts so they aren't all pressure tested. They work for me. ¯_(ツ)_/¯ )

This is just a convenience thing, not 100% required.

Then you just add a mirror modifier and under Data check Mirror U/V depending on what you want.

enter image description here

The once you apply the mirror modifier the mesh UVs will come out like this.

enter image description here

If you didn't have the islands perfectly aligned at the center then you can just select the center line edge loop and press Alt+V to stitch the islands after the fact.

enter image description here

$\endgroup$
4
  • $\begingroup$ Let us continue this discussion in chat. $\endgroup$
    – Jakemoyo
    Commented Aug 28, 2022 at 14:31
  • $\begingroup$ "make sure whatever "center" line parts of the UV are perfectly straight and centered at the .5 mark in the UV space" This is the tricky part, the "?" in "1 2 ? profit". Right now, the only tools to rotate UV to precise orientations are in GN, which has extremely spotty UV support anyways. This is one of those things that is probably technically possible, but man, what a lot of hoops to jump through, just to get to your beginning point. $\endgroup$
    – Nathan
    Commented Sep 18, 2022 at 22:55
  • $\begingroup$ Followed by This is just a convenience thing, not 100% required. meaning you don't have to do this. This just means you won't have to stitch the maps together after the fact. $\endgroup$
    – Jakemoyo
    Commented Sep 19, 2022 at 13:32
  • $\begingroup$ Sorry, I'm not trying to judge you. This is a valid technique, to almost get there; the fact that it's hard to get there all the way, precisely, is Blender's fault, not yours. Although doing some more research, we can get there by enabling "snap to midpoint" on the Stitch operation. (However, if we don't, Stitch won't fix errors in our pre-existing rotation.) $\endgroup$
    – Nathan
    Commented Sep 19, 2022 at 15:23

You must log in to answer this question.

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