0
$\begingroup$

I'm having a really tough time finding a solution for this (seemingly common) situation. I have a complex model that uses the mirror modifier, that also has an armature attached. Blender allows me to fully build this model to almost completion without applying the mirror modifier, which is great, because it reduces the work by half. My vertex weights, bone relationships, etc. Everything works flawlessly with the mirror modifier active. Until I get to the point where I'm defining the texture UVs.

How in the world is this done?

Here are some more random notes about my quest to keep my mirror modifier:

  1. I certainly don't want to apply the mirror modifier. If I do this, then build a complex UV layout, I'm completely stuck with my model as-is, and cannot make changes later without repeating all of the work that happens after I apply it. Not to mention I would have to save two versions of my object so I could "undo" my work.

  2. Blender has a mirror UVs toggle in the mirror modifier settings, but it only has one offset. How am I supposed to use this effectively? Doesn't this require every single separately mapped entity to reside in the absolute center of my UV space? How does one map out a complex object with many small symmetrical parts with everything in the absolute center? Is there some clever way to offset specific elements to different places?

  3. Blender has a toggle near the options button in the 3D view that enables "mesh symmetry on the X axis", but I cannot get it to function correctly. Even a simple action like joining two vertices with an edge (key J) does not work on the other side. Does this mode only support simple offsetting actions? If it worked correctly, I could simply do away with my modifier, but that doesn't seem possible at the moment. Unless there is an option or add-on somewhere that makes it work the way its supposed to? Some type of aggressive symmetry?

Really appreciate any guidance on this, as I feel stuck between two terrible choices. Either commit to my work so far, which I absolutely know I will regret, or find some way to deal with the extremely limited functionality of the mirror modifier's UV help.

$\endgroup$
4
  • 2
    $\begingroup$ This post contains multiple questions, you should focus on one question per post to get a better answer $\endgroup$
    – Emir
    Commented Mar 1, 2023 at 1:22
  • $\begingroup$ It may seem like there are multiple questions, but I'm really only after a single answer: How to do proper indestructive symmetry all the way to the UV stage. The list is just notes to show the other routes that I have tried. $\endgroup$
    – Robert
    Commented Mar 1, 2023 at 12:16
  • $\begingroup$ Without those notes, I get answers that lead to dead ends that I've already been to. None of these questions can be posted on their own and still be useful without explaining details about every other path. $\endgroup$
    – Robert
    Commented Mar 1, 2023 at 12:29
  • $\begingroup$ Recently I was stuck with the exact same problem: Wanting the mirror modifier to remain unapplied so my workflow stays non-destructive. I used this workflow $\endgroup$ Commented Mar 12, 2023 at 10:29

3 Answers 3

2
$\begingroup$

I think I ran into a similar issue with UV's for my projects, and I used UV warps to offset my uv's procedurally as needed. One possibility is:

  1. Plan to have all your uv's start on the center line (0.5)
  2. Make two vertex groups named left and right
  3. Separate geometry that you want to send left or right from that center (but keep them as part of the same object). Assign the geo that you want to send left or right to the corresponding vertex group. If the verts between the different groups aren't separate, it will result in shearing
  4. Uncheck merge vertices for your mirror modifier (otherwise you won't get a clean break between the vertices on the different halves, which will result in uv shearing)
  5. Check the Mirror U, option for the Mirror modifier, but keep it at 0
  6. Make a UVWarp modifier, set it to the proper UV Layer, and use the transform to offset it left or right as needed.
  7. Add a weld modifier at the end, with .001 as it's default. Because it's after all your uv stuff, it won't affect any of the information you need to modify vertex groups beforehand

For additional fine control, you can have many different vertex groups applied to each object, and tie a specific UV Warp modifier transform to each vertex group (for additional ease/clarity, name the vertex group by the offset amount [e.g. left.01, right.15, etc]). Then you can place each uv shell in a vertical line with the knowledge that it will be offset in a given direction so that it doesn't overlap. It's kind of cumbersome, and probably won't yield the most efficient UV layout, but if you're intent on keeping your mirror modifier, it's a technical process that may work well for you.

$\endgroup$
1
  • $\begingroup$ I some how have never noticed these UV modifiers. This is probably the closest we can get to a solution until Blender expands symmetry features. Thanks! $\endgroup$
    – Robert
    Commented Mar 15, 2023 at 0:57
2
$\begingroup$

If you don't mind overlapping UVs then you can use the mirror modifier without applying it, each side of the model will simply share the same UVs.

If you want both sides of the mesh's UVs to not overlap, then checking the Mirror U checkbox will mirror the UVs to the other side of the image along the x-axis. That will allow you to use one side of the image for each side of the mesh.

enter image description here

You can also still do more complex UV mapping things like marking seams and selecting small parts of the mesh to unwrap individually. Just have to keep all the UVs on one side of the image, like so:

enter image description here

The UVs will exist on the mirrored part of the mesh even if you don't apply the modifier, but they are hidden. If you find that difficult to work with, there is a trick where you can export the full UVs, then open them as an image and that will give you a bit of a preview to know where everything is:

  1. Duplicate your mesh and apply the mirror modifier to it
  2. Open the UV Editor
  3. Select UV > Export UV Layout enter image description here
  4. Save it as an image
  5. Open that same image under Image > Open
  6. Go back to the mesh you didn't apply the mirror modifier on, and you'll see where both sides of the UV maps are: enter image description here
$\endgroup$
3
  • 2
    $\begingroup$ I appreciate your help. This is what I was referring to with note #2. It requires that every single part of a symmetrical object be centered at 0.5, which is quite a heavy constraint for models where everything is symmetrical. You actually don't need that image trick if you toggle Modified Edges under overlays in the UV editor window. It shows you the UVs as they exist after all modifiers are applied. This is indeed the only non-destructive direction I know to go at the moment, but the fact that everything must be centered makes it extremely difficult (impossible) to optimize UV space. $\endgroup$
    – Robert
    Commented Mar 1, 2023 at 12:24
  • 2
    $\begingroup$ Thanks for the tip on Modified Edges, that's new to me. That's the extent of my knowledge as well, it does seem like this is where the mirror modifier workflow becomes less usable. A real shame how it's difficult to continue to work on it non-destructively. $\endgroup$
    – spood
    Commented Mar 1, 2023 at 14:42
  • $\begingroup$ Yes, the only solution I can come up with is to use more seams down the center of everything. Put the most important things in the center, then split everything else so it can go on the side. That's been my strategy so far. It's not too bad for human characters. I can manage to fit their head and body in the center, then split nearly everything else, such as mouth parts, etc. $\endgroup$
    – Robert
    Commented Mar 2, 2023 at 12:24
0
$\begingroup$
  1. Unwrap the object while the mirror modifier is on, do your UV work naturally, fully covering the 1:1 space.

enter image description here

  1. Move the Slider of the "U" coordinate to 100%, so all mirrored islands from half of that part are moved 1 quadrant right outside of the UV, once you apply the modifier.

enter image description here

  1. Exit out of Edit mode and Apply the mirror modifier

enter image description here

Due to the nature of UV space, textures repeat tiling when crossing the 1:1 coordinates, so moving the sibling/mirrored islands of half of your object to exactly 1 unit, regardless of direction U, or V, will instance the same detail.

$\endgroup$
3
  • $\begingroup$ I'm not sure I understand. If I do, this workflow works great as long as you don't mind have identical texture on both sides of the object. But if that is the goal, I don't really follow the purpose of moving things around or applying the modifier. Just exporting (or rendering) your mesh with the mirror modifier active will give you UVs that use the same texture space on both sides. $\endgroup$
    – Robert
    Commented Mar 2, 2023 at 12:19
  • $\begingroup$ Maybe what you're looking for is a non-destructive way of editing mirrored UV data? At the moment, such procedural workflow isn't possible, maybe in the future with Geometry Nodes. $\endgroup$
    – luischerub
    Commented Mar 2, 2023 at 14:06
  • $\begingroup$ I'm interested in being able to modify the mesh later without having to rebuild the UVs each time. So yeah, anything that forces me to apply the mirror modifier would likely not work, unless there was a way to build the mesh symmetrically without the modifier. There is definitely a gap in features for symmetrical modeling. For example, Blender will help me tremendously with copying bone data across using .R and .L naming, but it will not help me copy material assignments the same way, or let me fully layout UVs. $\endgroup$
    – Robert
    Commented Mar 15, 2023 at 0:52

You must log in to answer this question.

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