Preferred transform modes for bones or rig parts?


In Softimage you can set up a ‘preferred transform’ mode for a bone and/or a manipulator icon in the rig.
That means that if I select something, the Move, Rotate or Scale is automatically selected for a transform mode. I can set this to use World or Local axis as well.
e.g. If I select the root of the rig, it will automatically set for it to Move, and not look at the previous active transform tool.

It is a really useful option, especially for making a rig easier to work with. Less guessing…
Is there something in the Blender toolkit that can do this, maybe also scriptable?

All the other things I want to add, I can in Blender.
For the transform limits for a bone or handle I can use the object constraints, and I can also lock one or multiple axis, it would be nice though if they were also hidden, like on a object. That also helps.

Just wondering, as I couldn’t find anything similar after looking into the Rigifier and rigacar rigs.



I don’t think but that sounds useful ! When translations are locked though, Blender shows you only the rotation and scale gizmos, so there’s that.

What do you mean by hidden ?

So nothing alike in Blender? Might be something to throw at the devs then :wink:

With hidden I mean is that if I lock (a) axis on a object, those visible manipulators are hidden.

This is not the case when I am in Pose Mode for animation), if I lock a axis on a bone in a rig, all manipulators will still be visible. Axis are locked though, so that works fine.
It’s just the visible clue that is missing by not hiding the various manipulator arrows/rings etc.

Hope that makes sense.


Oh, I think you found a bug ! As far as I remember gizmo handles were always hidden when the corresponding axis was locked, so I tried it in 2.83 and… handles are only hidden when in global orientation !

edit as a matter of fact only objects exhibit this behaviour. Bones work fine, gizmo handles are hidden when locking an axis, even in local orientation.


Yes you’re right, there’s a difference in behavior between local and global mode.
So someone can add this one to the bug tracker?


edit: Do you need a separate account for reporting bugs? Apparently my account for devtalk doesn’t work for logging a bug…