0
$\begingroup$

EDIT: This was a bug and it has been fixed in recent versions of Blender.

I've worked for many years using 3ds Max, now I'm learning blender, but I'm still new to it.

I'm trying to duplicate and mirror an object along the X Global axis. The object (a character's arm) is rotated. So I duplicated the object (with Shift + d) and I'm trying to mirror it with ctrl + M, and selecting global x axis. So it should be mirrored and rotated to the other side, and I would just have to move the position to the other shoulder's position and it should be right.

But when I use mirror, it doesn't actually mirror the object on global axis. Even though "global" is selected in the mirror panel, it mirrors on local, so the object is mirrored but is still rotaded to the same side as it was originally (so it mirrored on local axis, not actually global).

Is it a bug or am I missing something?

$\endgroup$
5
  • $\begingroup$ if you apply the rotation of your object it will mirror on the global axis as it will align the local with the global), it won't completely answer your question though... $\endgroup$
    – moonboots
    Jul 27, 2020 at 14:45
  • $\begingroup$ In this situation a Mirror modifier is more convenient and logical way to do that $\endgroup$
    – Mr Zak
    Oct 21, 2020 at 19:26
  • $\begingroup$ That would be a workaround for a bug/design flaw, It definetely wouldn't be more logical, though. The mirror modifier would mirror the mesh inside the object and then I would have to separate the meshes into separate objects manually. That's a lot of steps for something that every other 3D software does with a couple of clicks/hotkeys. Since Blender gives the option to mirror along global axis but doesn't actually do it, it seems to be a bug. $\endgroup$ Oct 22, 2020 at 20:17
  • $\begingroup$ Hit apply rotation before mirroring might work. $\endgroup$
    – Ron Braun
    Mar 29, 2021 at 1:23
  • $\begingroup$ Finally this absurd issue has been fixed in version 2.92.0! ๐Ÿ™Œ๐Ÿ‘ $\endgroup$ Apr 15, 2021 at 18:13

3 Answers 3

2
$\begingroup$

I know it's been couple of months but still some one might find this helpful. I've been struggling with the same problem - didn't know how to flip an object along world global axis so that object might keep it's local origin orientation, just "look" to the opposite side, say from global X axis. What I came up with is I keep a parent cube at world 0.0.0 and when I need to duplicate and flip something, I duplicate an object, parent it to the cube, then having them both selected mirror along desired axis, unparent my object (keep transform) and it's done. You have a perfectly mirrored object with it's local axis intact. You'll probably want to apply scale afterwards and flip normals too.

I'm not sure why it has to be so many steps for such a simple task.

$\endgroup$
2
  • $\begingroup$ Blender can be awesome and have amazing features, but I'm surprised how many simple little things like this are missing. $\endgroup$ Oct 22, 2020 at 20:20
  • $\begingroup$ This issue has been resolved in Blender 2.92.0 Mirror on Global axis now works as intended. $\endgroup$ Apr 15, 2021 at 19:54
0
$\begingroup$

To get the correct reflection, you need to move the center of the object you want to mirror to the expected middle of your two objects, and after that use the mirror modifier, then the center will be the desired place. if I understand your question correctly this should help.

$\endgroup$
1
  • $\begingroup$ Yes, that kinda works but not exactly what I wanted. If I use the modifier it will mirror the mesh inside the same object. I wanted a separated mirror duplicate of the object (even though they are separate meshes, they are still part of the same object), with the position and rotation also mirrored without me having to manually re-rotate the mirrored object (which is what I end up doing every time I have to mirror an object in that manner, but it would be nice for the mirror command (ctrl + m) to do it automatically). $\endgroup$ Jul 27, 2020 at 17:53
-1
$\begingroup$

I was fiddling with something similar (learning Blender) and selecting the objects and then OBJECT > APPLY > ALL TRANSFORMS seems to have worked. (I have found this the answer in many other puzzling cases) After this, with the object's center aligned to #D cursor at world origin (not sure if this is important) IT WORKED! Create a mirror modifier for the object X axis, apply, and I have two legs properly placed.

Every so often, unless you have a reason not to, apply all transforms.

$\endgroup$
4
  • $\begingroup$ Actually this was a bug but it was fixed in more recent versions of Blender. $\endgroup$ Oct 10, 2021 at 18:47
  • $\begingroup$ Well, I'm on 2.93.1 so it must be very recent. Interesting, though - I've learned my one thing for the day... Thanks! $\endgroup$
    – md2000
    Oct 12, 2021 at 0:26
  • $\begingroup$ I see the same effect in 2.93.5 - if I create a mirror modifier, I don't get the actual mirror of the object until after I've applied all transforms. So presumably that means the bug was fixed in the last 24 hours after I downloaded the latest version? $\endgroup$
    – md2000
    Oct 16, 2021 at 20:19
  • $\begingroup$ I'm using 2.93.5 and it's working fine for me. Mind that the issue I was asking about in this question was not about the mirror modifier, it was about the mirror function found under object > mirror > X/Y/Z Global. // If you are talking about the mirror MODIFIER, than it will always be in local axis. But You can use another object (such as an empty) as the "mirror object" in the mirror modifier, then the modifier will mirror along the local axis of the 'mirror object' and you can rotate and place it wherever you need. $\endgroup$ Oct 16, 2021 at 22:50

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