I’m attempting to do some animation for a game mod that has some hardcoded requirements for bone orientation that I’d like to respect, and one of the issues I’m running into is the being able to keep the bone orientations in tact while also being able to use the mirror feature when editing rigs. In Blender, when you mirror a bone from X to -X, the bone roll is flipped 180 degrees. So let’s say if I wanted to have my right knee bend -90 degrees along the bone’s local Z axis, my left knee would have to rotate +90 degrees to have the same effect. This is unwanted behavior; I need it so the bones bend in the same direction when told to rotate -90 degrees.
I can easily edit the roll so that both knees will bend back along the exact same axis, and the game will be fine with this. However, when I do this, this messes with the mirror function in edit and pose mode, where in edit mode it’ll automatically roll the bones 180 degrees, and pose mode will cause the other side to rotate in the opposite direction.
Ultimate question, is there a way to change the mirror mode in Blender so that I can maintain the same rotation axis direction on both sides of the rig while still retaining the mirror edit functionality?
If I am following your correctly, I’m thinking you would be best off with a python script to tackle this. Code that could copy the pose and post the flipped pose like this:
A python script could do that and I’ve done some python scripting in blender, but I’ve never been into that part of blender. I mean, I’ve done a bit coding for rigs in blender, but never into where this data is stored…
Game engine is some proprietary engine that doesn’t really have documentation, not anything like unreal or unity, thus the modding tools are a little jank lol
One thing I was trying to do was duplicate the skeleton and edit the bone orientations to be mirrorable, then going to the original skeleton and adding “copy transform” modifiers to each bone pointing to the equivalent bones in the new skeleton, making the target “Local (Owner orientation).” It seems to work most of the time, sometimes it suffers gimbal lock on the mirrored side, but I guess this is the rabbit hole I’m gonna go down as this was the closest to a usable result as I’ve gotten. If I can get that to work flawlessly, I would just need to bake the animations I want to export while clearing the constraints.
If scripting is needed, I may end up needing to make a script to auto add the copy transform modifiers to each bone targeting the other skeleton’s equivalent bones, just cause it’s super tedious lol