A while ago, there was a thread in bf-committers about parenting offsets and whatnot. I was thinking about this tonight and it got me wondering: if we exposed the offset to the user, could we rethink how applying transforms works? When you apply location, for example, blender moves the origin of the object to the world origin and just moves the mesh data where you expect it. However, when you try to rotate or scale the object from there, it defaults to moving from the origin, which then makes it difficult to further transform without the cursor or resetting the origin.
My issue with this is that it moves the origin back to world origin. Honestly, this bugs the hell out of me. If I want to move the origin, I’ll do that manually.
I am proposing we expose the offset to the user in a way that is separate from the object’s transforms. Perhaps it can be in a collapsible panel directly under the transforms and labeled “Offset from Parent” to differentiate, or perhaps under “Relations” with the parent selector. The way I see this functioning is always relative to its parent object (or in the case of no parent, the world/scene), hence putting it under “Relations.”
This differs from delta transforms because delta transforms are relative to the object’s current position, not to its parent. While they can both be used to the same ends, the purposes and underlying math are fundamentally different. The values would be non-keyable and lockable. I’m not entirely sure how rotation offset would work, since this is based on the parent, not local space. Delta rotations already follow the mode of normal transforms (ie quats or eulers), so perhaps it could function similarly.
I hope to start a discussion with this. What are your thoughts? If this is technically unfeasible or impratical, why? If you think it should be implemented, do you have any suggestions to make it better?