When parenting a object to another object, that does not have standard transforms (loc 0,0,0 rot 0,0,0 and scale 1,1,1) Blender apparently applies something called a parent inverse matrix between the transforms of the parent and the child object.

Isn't that just like an invisible parent between the parent and the child with transforms of the the parent inverse matrix? What makes this worse is that for some reason the parent inverse matrix is completely hidden, but is there a way to expose the parent inverse matrix (without python)? When using the parent without inverse option the child object usually changes loc,rot,scale to match what it looks like in the parents coordinate space without any calcuations between the parents and the childs coordinate spaces. Is there a way to avoid the changes in the child object (something like parent without inverse(keep transform)?


1 Answer 1


The "Parent Inverse Matrix" section of the manual seems to do a pretty good job of explaining this:

Blender can assign a parent without moving the child object. This is achieved via a hidden matrix called the Parent Inverse matrix, which sits between the transform of the parent and the child.

When objects are parented with Ctrl-P, Parent Inverse matrix is updated. Depending on the choice in the Set Parent menu, the object’s local location, rotation, and scale are also updated. For more details, see Object Parent.

There is an example, complete with a blend file with details in the manual.

  • $\begingroup$ "Blender can assign a parent without moving the child object." <- Is there an example usage? When and Why $\endgroup$
    – rint
    Commented Jan 8 at 18:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .