Remove or expose parent inverse
When you parent one object to another its possible to parent with or without parent inverse. The default is WITH parent inverse.
Parent inverse is another set of hidden transforms applied to the child object with no visible indication this is happening.
In my opinion its an unneeded and confusing concept. A transform of 0,0,0 for a child object should be in the same position as the parent.
Parenting and unparenting while keeping same world transform should of course be kept.
If its impossible to remove, it would be better to; -Make parent without inverse the default mode of parenting. -Display and allow editing of the parent inverse transform in the ui somewhere.
5 Comments
I consider it a bug....... devtalk.blender.org/t/reevaluating-worldspace-and-localspace-treatment-need-some-dev-triage/9665
I can understand wanting to preserve an objects current transform by default when reparenting but I don't see what's wrong with just applying the inverse when reparenting so then it's easy to understand what's happening in the UI?
Right now you can inadvertently capture an arbitrary parent inverse transform when reparenting and get stuck with strange relative transforms even after clearing a child's transforms and origin. This magic transform is opaque to the UI and you have to google for help to figure out what's going on and learn that you can clear the parent inverse which feels silly for just being able to configure basic child/parent transforms.
The situation is daft I have to say. The default should be leave the child where it is when parenting and show the local transformations of the child relative to the parent. You could then have the choice of neutralising those transformations (leaving the child where it is, in Blender parlance applying and inverse transformation so all is zeroed out) OR reset the child transformations to zero therefore moving the child to the parents SRT. If applying the inverse transformations it is ESSENTIAL to allow access to those offset numbers so they can be tweaked or cleared anything else is just insanity.
Agree that it should be exposed in UI in some way (probably in similar way as Delta Transform), there is a need for indication whether there is parent inverse matrix in play or not. Same goes from
Child ofconstraint - you can't tell just from UI whethe inverse is set or not and was it set correctly or not.This is a great write up of the issue: devtalk.blender.org/t/reevaluating-worldspace-and-localspace-treatment-need-some-dev-triage/9665/22