Is there a way to parent an object to another, such that the parent does not move the child when it moves? I thought of adding a "negative" Child-of constraint to compensate for movement by parent, but sadly that does not exist since constraint influence can't be set below 0. Any other suggestions?
-
$\begingroup$ uncheck x,y,z of the location in the child_of constraint $\endgroup$– ChebhouMay 2, 2015 at 19:02
-
$\begingroup$ @Chebhou I might have phrased myself poorly - I need actual parenting (usable from scripting without all the constraint overhead), but I don't want the position of the child altered by the parent. Your solution does not work since the child is not actually a child of the parent then, it only has a constraint that does nothing. $\endgroup$– LudwikMay 2, 2015 at 19:06
-
$\begingroup$ you want to do this in script ? $\endgroup$– ChebhouMay 2, 2015 at 19:08
-
1$\begingroup$ Would it work to add an empty at the location of the child, and make the child copy the location of the empty? $\endgroup$– someonewithpcMay 2, 2015 at 19:08
-
$\begingroup$ Yes, but I didn't think that relevant. The point is I need the parent-child logical relationship, but want the child not to move. $\endgroup$– LudwikMay 2, 2015 at 19:09
1 Answer
This can be done fairly quickly; what you need to do is and an empty to the location of the child, and then make the child copy the location of the empty, using a constraint — now you can safely parent both objects and the child won't move.
You can do this by:
- While in Edit mode, and with the child selected, pressing Shift + S > Cursor to selected
- Pressing Shift + A > Empty > Plain Axis
- Selecting the child, going to the Constraints tab of the Properties window and adding a Copy Location constraint, with the target set to the empty created earlier
-
$\begingroup$ This single answer has opened my eyes to the next level of Blendering! :) $\endgroup$ Jan 30, 2019 at 12:19