Page MenuHome

Parent mode for Location Transform Orientation
Confirmed, NormalPublicDESIGN

Description

This has come up several times, and is something we need a lot in animation:

What is it?
Basically a way to display the Location XYZ orientation based on the parent of the selected object/bone/control.

When any objector control is parented to an other it's location transforms depends on the parent, so if i rotate the parent in any weird angle, the locations of the child (the one i want to move) depend on that object, making any of the transform orientation options make no sense when you want to use a specific axis unless you do it from the graph editor or from the transform values.

Propolsed solution:

Adding a new transform orientation (for location only) that is called parent, where it will always look at the parent transforms of the seelected object to orient the transform gizmos, when there is no parent, the "parent" is the world so it'd show the orientations based on that.
That'll make it fast, easy and really a great improvement in the animation workflows.

Event Timeline

Oh my gosh, yes please.. I would love this so much.

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Needs Information from Developers.Sep 30 2021, 9:56 AM

Nothing to triage, fully Animation & Rigging realm.

I don't quite understand. The Transform panel always shows the same thing: the selected thingy's local transform. In other words, it just shows the properties of the selected thingy. This is shown regardless of the selected Transform Orientation, as that option only changes the orientation of the transformation interactions in the 3D Viewport (widgets, operators, etc.).

Is this a request to make the Transform panel show different values depending on the chosen Transform Orientation? Or to have a new panel/tab that shows this? Otherwise I don't see how a new Transform Orientation choice is going to be useful, because without more changes, it won't be reflected in the Transform panel anyway.

@Sybren A. Stüvel (sybren) It's a guess, but I think @Luciano Muñoz Sessarego (looch) may mean an orientation mode that has the arrows aligned to the transform channels, rather than true local space. I.e. channels are applied in the location -> rotation -> scale order, so rotating the object does not actually affect the interpretation of location channels, but in Local mode the widget is rotated. This vaguely feels similar to the intent of the Gimbal mode (for rotation), but the arrows are rotated in that as well...

I wonder if rather than a new mode this could be a redesign of the Gimbal mode to produce correct channel alignment not only for rotation, but location and scale as well?

Exactly what Alexander said.

Yes have a translate manipulator that always displayed/aligned to the parent space of the selection, instead of having the translate manipulator "orient" to aim where the selection was rotated as Local does now, would be great.

Sybren A. Stüvel (sybren) changed the task status from Needs Information from Developers to Confirmed.Oct 1 2021, 10:25 AM

👍

I have a starting point: working only for objects so far. Patch attached

I have a starting point: working only for objects so far. Patch attached

I really think the 'parent' thing should not be taken at face value. What @Luciano Muñoz Sessarego (looch) was asking for is arrows that match transform channels, which is basically 'local without local rotation', includes effects of the bone rest pose or object parent inverse matrix, and is more like Gimbal orientation for rotation. I also really think that unless there is a compelling reason not to, this functionality probably should be added to Gimbal mode instead of adding a new one.

Hi,

I agree with parent space being a more subtle concept: objects should take their parent inverse into account, and bones have their own space to deal with. I have to delve more into the blender source and see how the transforms are generated before I can say which formula is better (parent * parent_inverse? world * local_inverse?).

I understand the Gimbal analogy, yet I'm not sure it would be correct to display a different set of axis with the transform set to gimbal: I think that's why they have kept the "parent" term in Maya even if Maya's stack is more convoluted than blender's.

Yet, I concede that nobody I know has reasons to animate translations with gimbals and rotations with parent.

Here's what I would do:

  • Instead of Gimbal, it's called "Channels"
  • When in "Channels Mode", the rotation gizmo shows the Gimbal rings, the move gizmo shows the "Parent not at face value" arrows :)

That would make it esplicit, functional and original, but now this has become a design proposal. If it gets accepted, I'll be willing to work on that

Cheers!