I have an armature object in Object Mode which has accidentally been rotated a small degree without me knowing it, so that its base is no longer flush with the floor when it is in its T-pose. Somehow, its rotation transforms got applied afterwards, also. I saved the file before discovering this issue. Sloppy, sloppy. Now the situation is that I can't return this armature to its original orientation, because now that I've applied the rotation, the tilted position will forever register as (0,0,0).
I tried investigating the 3D cursor's rotation value as a way to work out a possible snapping solution, in combination with Object > Transform > Align to Transform Orientation. Yet while I was able to create a transform orientation consistent with the rig's current position easily enough, I wasn't able to use that new transform orientation to fix this problem, because Align to Transform Orientation uses the current orientation of the object (0,0,0, remember?) to determine how to align objects to it, not its original orientation. I can't figure out what orientation the armature object is now in visually, relative to worldspace. What I need is either:
- a way to determine this, so that I can use the resulting values to create a new transform orientation, and then retry this Align feature based upon those new values, OR
- a way to dig up the original orientation data. My hope is that there are some values under the hood somewhere that have preserved the original transforms, and that I can access them somehow (probably with script) to straighten out this rig.
How can I fix this?