0
$\begingroup$

I need some expert guidance on this. In my current rig(Image below), I have added a "Child of" Bone Constraint to the "Props" bone(Yellow cube). It is link to "Arm2" bone(red cylinder).

enter image description here

My intention are, if I turned the influence of the bone constraint to 1, the "Props" bone(Yellow cube) will follow the transformation of "Arm2" bone(red cylinder). Like shown in image 2.

enter image description here

However, problem arise when I start to move the "Body" bone(Blue Cube). As shown in the 3rd image even though the influence is 1, "Props" bone(Yellow cube) will not fully follow the "Arm2" bone(red cylinder).

enter image description here

I aware this is cause by both "Props" bone(Yellow cube) and "Arm2" bone(red cylinder) are being parent to "Body" bone(Blue Cube). Hence, when "Body" bone(Blue Cube) rotate both the "child to "constraint and "Body" bone(Blue Cube) are competing with each other in influencing "Props" bone(Yellow cube).

So I'm looking for a way to temporary switch of the parent influence of "Body" bone(Blue Cube), when "child to "constraint is active. something like a switch. However, I am open to other possible option or method.

Note: I need the both "Props" bone(Yellow cube) and "Arm2" bone(red cylinder) to be parent to "Body" bone(Blue Cube) as in most animation I need both of the child bone to follow it. Only in specific situation where I need the "Props" bone(Yellow cube) to follow "Arm2" bone(red cylinder). Like a character picking up an item.

I apologise for not showing the actual model, I bind to confidentiality.

Blender file of the images

$\endgroup$

1 Answer 1

0
$\begingroup$

You can't turn actual parenting on or off, not with regular old Blender. (There are addons, but they're unnecessary for this situation, and I prefer out-of-the-box solutions when available.) And, yes, child-of constraints are evaluated after the transformation of a bone by its parent.

You have two options to make this do what you want:

  1. Unparent props. Give it a child of constraint targeting Body and set inverse. When you want it to follow Body, set the influence of this constraint to 1.0; when you want it to follow Arm2, set the influence of this constraint to 2.0. This is basically the same thing as keeping it parented to Body, but you control when it acts as if parented and when it doesn't.

  2. Instead of using a child-of constraint, use a copy transforms constraint targeting a bone that isn't parented to Body. Delete the child of constraint. Duplicate props and parent that duplicate to Arm2. Give props a copy transforms constraint targeting its duplicate. Animate the influence of that constraint as if it were the child-of constraint:

enter image description here

A copy transforms constraint overrides any keyframed transforms, so you may wish to sandwich in another duplicate parent, so that you can have an unconstrained bone that you can move freely:

enter image description here

$\endgroup$
1
  • $\begingroup$ Thank you so much. This is exactly what I was looking for. I prefer option A as I wish to not add any additional bone if possible. Again, Thank you. $\endgroup$
    – Kenny
    Commented Aug 7, 2021 at 10:47

You must log in to answer this question.

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