4
$\begingroup$

I recently ran into the need to retopologize the body mesh of the character below so I could connect the body to the head (I needed to make the edge loops have the same number of vertices). This is where I realized a major problem.

enter image description here

I had been using a multires modifier and I had already begun my sculpt. I figured all I needed to do was delete one half of my mesh and use a mirror modifier across the x-axis so my new topology would be symmetrical.

enter image description here

Upon following this obvious method all was looking great. Besides some splitting between the meshes, it looked like I could apply the mirror modifier.

enter image description here

BUT THEN, I discovered that the mirror modifier does not play well with the multires modifier. And that you can't move the mirror modifier above the multires modifier in the stack. It seemed this mesh without my sculpting detail was unavoidable if I was using a mirror modifier.

enter image description here

Then I tried to mirror the mesh manually in edit mode by duplicating (SHIFT+D) and scaling by -1 on the x-axis. To my dismay, this resulted in all of the normal mapping from my sculpts being inverted. I tried to resolve this for hours.

enter image description here

It finally occurred to me to try to mirror from object mode under the "tools>transform" panel. So I duplicated my original body mesh and tried just that.

enter image description here

PRESTO! I got what I needed, and I won't have to worry about losing sculpting detail because of pesky mirror modifiers! All that is left after this step is to join the "body" and "body.1" meshes and merge any duplicate vertices.

enter image description here

I primarily wanted to post this as a help to others, but also to ask whether there are any easier work-arounds to this issue. If anybody knows an easier way to deal with this problem, your explanation would be greatly appreciated.

$\endgroup$
2
  • 1
    $\begingroup$ I encountered a similar problem when trying to copy an arm to the opposite side of the body, only to have all the detail disappear. I followed your steps and got perfect results. I wish mirroring it wasn't so complicated! $\endgroup$ Feb 3 '18 at 12:00
  • $\begingroup$ @EmeraldEelEntertainment Glad this helped you out! $\endgroup$
    – Tyler
    Mar 21 '18 at 15:34
0
$\begingroup$

This may be out of date, but quick tip - if you mirror a mesh by scaling -1, you can then reverse the normals via 'recalculate outside' or 'flip normals'

see: https://docs.blender.org/manual/en/latest/modeling/meshes/editing/mesh/normals.html#recalculate https://docs.blender.org/manual/en/latest/modeling/meshes/editing/mesh/normals.html#flip

You may also be able to work around this by changing the order of the modifiers in the stack.

$\endgroup$
0
$\begingroup$

Symmetrize (or mirror) only works if the mesh is clean, if you have shape keys or an armature with vertex groups associated with it here's the procedure for these cases

  1. in edit mode, Create a vertex group and assign to 1.0 the vertices that lay on the center of the object
  2. in object mode, Create a dummy shapekey
  3. in edit mode, Symmetrize (or mirror) the mesh, use -x to +x, or +x to -x
  4. Now select the vertices in the center with 0)
  5. Go to select -> select loops -> select inner-loop region, make sure you are selecting the generated mesh by ticking or not ticking "Select Bigger"
  6. Separate mesh
  7. in object mode, select generated mesh, scale by -1 and apply scale.
  8. (for rigged objects), copy this script https://gist.github.com/iszotic/e85d3c0cbd36186ea01dccb94a715a68 in a text editor, register, and execute with Ctrl+P, this will flip the name of the bones from .L to .R and vice-versa
  9. Now merge the separated and the original object, then delete the dummy shapekey
  10. in edit mode, select the central vertices with the vertex group made in 0), now merge by distance

IF you only have a rigged object, don't make the dummy shapekey at all

IF you also have the model UV wrapped go to edit mode, open a UV editor panel, select all the mesh in the UV panel, go to UV -> mirror -> Copy Mirrored UV coords, select negative or positive accordingly. Do this step if you have asymmetrical textures.

$\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.