I have a turret, displayed below, which I would like to duplicate and mirror across the global Y axis.

Blender in object mode, view pointing in the negative z direction at the global y axis, with an object to the left of the global y-axis, rotated 15 degrees.

I can do this in Edit Mode, using Shift D, Enter, Ctrl M, X, which shows what I'm looking for:

Same as the first image, but the object has a mirror duplicate across the global y-axis.

However, this object is using a mesh shared by several other objects. Mirroring the mesh affects the other objects, naturally. What I'd really like is to mirror the object across the y-axis. But the result is not what I would expect:

The same as the second image, but this time, the angle the second object makes with the global y-axis is the same as for the first, as opposed to being the mirror image.

That was done with Alt D, Enter, Ctrl M, X. The new position of the duplicate is right, but the angle is not.

I feel like I've missed something obvious.

What is going on here?

(In both cases, the pivot point is the 3D cursor, which is set at the world origin.The transformation orientation is set to global.)

Edit (About context)

The turrets involved are on a larger craft that will be mirrored in it's entirety. I'd rather keep the turrets as separate objects than join them, since I may replace the mesh they use with another, or edit the existing mesh.

There is an easy workaround, and that is to adjust the angle of each mirrored item manually. But I'm still interested as to how to perform a mirror with both the origin and angle transformed globally, as opposed to the origin transformed globally and the angle transformed locally as seems to be the case above.

  • $\begingroup$ Humm... I don't think that this is the intended behaviour actually. The mirror should also mirror the rotation unless the Only Origin is used. I will place a bug report. $\endgroup$ – Jackdaw Aug 10 '19 at 21:00
  • $\begingroup$ Placed a bug report here developer.blender.org/T68521 $\endgroup$ – Jackdaw Aug 10 '19 at 21:33
  • $\begingroup$ @Jackdaw "only origins" is not on. It does seem odd, though usually when I find blender things odd it's because I don't yet understand how they were meant to be used yet... but this seems so straightforward. Thanks for placing the report. $\endgroup$ – Seti Aug 10 '19 at 21:34

If you are doing this so that they could be animated I would add a Copy Rotation Constraint and then invert the Y axis.

Or if you are modelling, Create a new collection with the left side (M) and then place a Collection Instance (Shift-A) of that and mirror the Instance. The collection instance has it's origin in the centre but it can be moved in the Context menu for the object -> Collections.

If you later on want to commit this to be real object you, just Make Instances Real (search for it with F3). They will still be linked copies.

  • $\begingroup$ Interesting. I'm new to blender, and while I've seen collections, the instance thing is unknown to me. I'll read up on it in a little when I have time and try it. $\endgroup$ – Seti Aug 10 '19 at 21:26
  • $\begingroup$ That worked, thank you. I'll *accept this answer, though I'm also interested to see what becomes of that bug report. $\endgroup$ – Seti Aug 10 '19 at 22:10

You have rotated your object in Object mode. If you mirror, it will mirror on the object own local axis, not the global, that's what happened. So if you want to have an object that looks mirrored on the global axis you first need to apply the rotation with ctrlA, so that its current local axis aligns to the global, but I'm not sure that's what you want. Maybe simply rotate it the opposite way with a Z rotation value that you enter in the N panel.

  • $\begingroup$ Yeah, rotating it manually is a fine work around, but I'd rather not do that with each turret. Ctrl A applies the rotation to the mesh, right? If that's the case, it would mess up the rest of the objects using that mesh in the scene, which is indeed not what i want. $\endgroup$ – Seti Aug 10 '19 at 21:24
  • $\begingroup$ So maybe explain the whole situation, because what I've explained is the reason why it doesn't look mirrored while it actually was, maybe what you want to know is how to duplicate a turret... but for what purpose? what case? $\endgroup$ – moonboots Aug 10 '19 at 21:28
  • $\begingroup$ Actually, are you saying that the position is mirrored globally, but the orientation is mirrored locally? That seems like really unintuitive behavior to me. $\endgroup$ – Seti Aug 10 '19 at 21:32
  • $\begingroup$ it has been mirrored locally, but not globally ;) $\endgroup$ – moonboots Aug 10 '19 at 21:33
  • $\begingroup$ Aye, you did. I shall update the question taking this answer into account in a few minutes. $\endgroup$ – Seti Aug 10 '19 at 21:33

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.