So I need to mirror an object along a single axis, and this object has been rotated in object mode and therefore has a local orientation that differs from global. I need to keep this local transform because some constraints will apply to those objects for an animation. See the examples below:
The source is the red object and green one is the transformation result. This is what happens when using the mirror modifier, then separating geometry and resetting origin to geometry. The placement is fine, this is exactly where I want the object, however, the transform orientation itself matches that of the red object and has not been mirrored.
Now this is what happens when trying to mirror the object itself along the X axis using the 3d cursor as the pivot point (scaling -1 along global X). The transform orientation is then well aligned, but I wouldn't exactly call this a mirror! Now of course if I had applied the rotation before mirroring, the mirror would have worked, but the local orientation would have been reset so this is no use either.
This seems like a very basic thing to do and I'm wondering what I'm overlooking. I know that I can use other orientations like "normal" for modeling but this will not work with constraints. I will need to use constraints on local axes afterwards.
Any help is greatly appreciated.