3
$\begingroup$

I am currently stuck with blender 2.8 (I know that is a beta right now but I remember having the same problem with 2.79 and I finally want to solve this).

I am trying to make an object a child of a bone. To do this I select the supposed child object then shift select the armature (that was made using rigify), switch to pose mode, select the parent bone and parent it with ctrl+p to the bone. When doing this the (carefully aligned) child objects is rotated and moved and I can't figure out why. I am sure the must be a way to do this without having to reposition the child after parenting.

I have applied all transformations to the child object and also checked to have reset all transformations on the pose.

Please check the images to see what I am talking of. Thanks for all the help you are providing and all the work done on blender.

before parenting enter image description here

after parenting enter image description here

$\endgroup$
1
  • $\begingroup$ Remove existing constraints and parents from the mesh you are trying to parent to the bone. $\endgroup$ Commented Jul 10, 2020 at 11:29

4 Answers 4

3
$\begingroup$

Let the bone position it, then tweak.

In as much as you can position then parent, I am suggesting the opposite. The nature of parenting is to let the child inherit the transform of the parent.

If the object has no translation or rotation it will be at the location and rotation of its parent.

The head to tail axis of a bone is, +Y along the bones length. Align our child object to reflect this.

The "up" axis of our default cone is +Z, we want to make it point to "+Y".

enter image description here The default cone, rotated and translated such that its origin (local (0, 0, 0)) is at the tip of cone, and it points in a +Y direction. The cone is at global location (0, 0, 0)

If non-zero rotation apply the rotation.

Now we can parent to a bone and the cone will be tip to tail of bone.

enter image description here cone parented to head bone of rigify bird metarig, adjusting the cones y location will slide it up and down the bone

$\endgroup$
1
  • 2
    $\begingroup$ Thank you for your response. I thought of positioning them after they are made children of the bones. But I also have all the mirrored parts which already are in position. My current workaround is to set the parent in pose mode, go back to object mode and clear the parent again using alt+p and then set the parent again in pose mode. on the second parenting the object will stay in position. $\endgroup$
    – cioddi
    Commented Jan 16, 2019 at 9:22
0
$\begingroup$

I was experiencing the exact problem as OP, and solved it differently. I discovered that the reason was that some of my mesh objects had movement constraints on them. Once I removed the movement constraints from the meshes, the behavior stopped.

$\endgroup$
0
$\begingroup$

It also happens when the object is already in a parent child relation with another object, so you can first do 'clear parent and keep transform' and then try to parent it again.

$\endgroup$
0
$\begingroup$

Same issue, Parenting in Object mode was transforming the rotation and location based on the rotation and location of the bone, parent it in Pose mode and it will keep its original rotation and location. Select the object, shift select the armature, go into pose mode and select and parent to the bone you want.

$\endgroup$

You must log in to answer this question.

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