This question was created in reference to: [Unreal 5.6 control rig mirrororing [Content removed]
The mirror axis and axis to flip is still being ignored when using the pose tool with mirror selected and when using the mirror hotkeys. Please see the previous linked ticket.
Steps to Reproduce
Change the mirror axis or axis to flip and try the mirrored pose tool or the mirror hotkeys (alt + M). The result is exactly the same no matter what the setting is.
[Image Removed]
Hi, sorry for the delay following up on this. I wanted to talk to the dev team to see what the expected behaviour is.
In terms of the remaining mirror settings, the functionality is working as designed (although the behaviour is somewhat confusing without knowing what’s going on in the code - we should document this better). Essentially, the mirror functionality does the following:
- When we build the control rig pose, we make a list of controls that have left/right equivalents in the rig.
- When pasting a transform onto a control that is in that list (ie, pasting the lowerarm_l_ctrl onto lowerarm_r_ctrl), we just apply the local transform as-is and don’t perform any mirroring on it
- When pasting a transform onto a control that isn’t in that list (ie. spine_01), we do mirror the transform, using the mirror settings you highlighted to determine how the transform should be mirrored.
So, essentially, the expectation with control rig pose mirroring is that, when authoring the rig, the control axes between the left and right sides of the body are flipped. You can see that if you look at the FK controls in the Mannequin control rig - one arm is x-down the joint while the other is x-up. That assumption is why the transforms for the matched controls aren’t mirrored before being applied, but the transforms on the non-matched controls do have to be mirrored. And then the mirror settings should allow you to mirror the non-matched controls in the same way that the axes have been flipped between the matched controls (ie. in the x-axis on the mannequin rig).
But unfortunately, any rigs that don’t follow that convention of flipping the control axes won’t see the controls being mirrored as expected.
Just a quick follow-up to mention that we do have some new mirroring functionality in 5.7 that works directly in the viewport rather than requiring you to create control rig poses. You’re able to now create selection sets for controls, and generate mirrored versions of those sets automatically:
[Image Removed]And there are new shortcuts that allow you to mirror the pose that you have currently selected on the control rig in the level viewport:
[Image Removed]But the underlying way that the mirrored transforms are applied is still the same as with the control rig pose window.
Hi Euan,
Thanks for all the information.
Its good to know that this is the intended behaviour and there are no plans on changing this. We will have to implement our own mirror tool based on the mirror metadata we add to each control. Until we get our modules mirror behaviour of our rigs changed in line with what Unreal expects. Like you said earlier, it would be great for this to be clearly documented.
Thanks
Dewald
Thanks
Dewald
Yeah, I’ve already spoken to the docs team about this, so they have a related task now at least. I’ll close out this thread.