0
$\begingroup$

I got a quick question regarding rigging in Blender! So i recently picked up Blender to teach myself some of the basics things (modelling/rigging/etc), i have worked in Maya for many years prior. But i am currently hitting a small roadblock.

So here is the problem. I modelled a bird and i am currently rigging it. I made a few controllers that can rotate the feathers. The small sticks can rotate each feather sepperately and they are parented to the big boxenter image description here The feather bones have a driver attached to them that links them to these sticks, so when i rotate them along the X-axis they will rotate the feathers.

My question: What would be the best approach to link the small sticks to a main controller (the box), so when i rotate the box it will rotate all the feathers, but you can still adjust/tweak the feathers with the sticks as well.

I tried it with a driver but this will lock the stick so it can only be rotated with the big box. I'm sorry if it's an obvious solution but i am still new to Blender xD

Edit 2: The updated file with the feathers:

$\endgroup$
14
  • $\begingroup$ so what's the problem if you parent all your sticks to one unique bone? $\endgroup$
    – moonboots
    May 6 '20 at 8:55
  • $\begingroup$ Hi @moonboots ! Well i tried to parent the sticks to the box, but when i rotate the box it roates the sticks, but the sticks dont affect the feathers. I can still rotate the sticks and they will move the feathers, but once i rotate the box it won't rotate all of the feathers. $\endgroup$ May 6 '20 at 8:56
  • $\begingroup$ I'm not sure what you're doing but perhaps parent your sticks to a bone instead of a box, this box won't affect the mesh, it's only here to control the sticks, what about that? $\endgroup$
    – moonboots
    May 6 '20 at 9:26
  • $\begingroup$ @moonboots Okay to clarify a bit, the sticks and box are both bones, with a custom object tied to them so they appear as the sticks and box. My goal here is to: Allow the animator to tweak the feathers sepperately by moving the sticks or to rotate all the feathers at once by rotating the box. The sticks are working, each one is assigned to a specific feather so you can tweak it manually. The box isn;t however. The sticks are parented to the box and when i rotate the box, the sticks rotate as well. However, it doesnt affect the feathers. Which i want. $\endgroup$ May 6 '20 at 9:35
  • $\begingroup$ yes, weird because it should, could you please share your file? blend-exchange.giantcowfilms.com $\endgroup$
    – moonboots
    May 6 '20 at 9:39
0
$\begingroup$

Here's my version of the file. This is what I did to get the desired functionality:

  1. Go into Edit Mode, select all the bones which make up the finger/feather controls only, and press Alt + p to bring up the Unparent menu. Choose Clear Parent.
  2. Go into Pose Mode, then select the Bone Constraint Properties tab in the Properties Panel. Access the Bone Constraint pulldown from the top of the panel, and create a Child Of constraint. Set the Target to Armature, and the Bone to SmallWingCurve.L. Finally, Press the Set Inverse button to ensure that the new parenting relationship preserves the child's current position.
  3. Copy new Child Of constraints to all of the remaining Small_Feather_Controller bones. Select all of these except the one to which you just added the Child Of constraint. Then, hold Shift and add the one which has this constraint to the selection. It must be the last one added to the selection, as this makes it the active object. Then, from the Pose menu at the top of your viewport, select the Constraints submenu, then Copy Constraints to Selected Bones. Now all your feathers/fingers have the same constraint.

If you try to rotate your master controller now, all the smaller ones rotate with it.

One advantage of the Child Of constraint is that it allows you to keyframe changes to the parenting relationship. This is not possible with direct parenting. Another is that the resulting parenting relationship can be increased or decreased by degrees using a slider, rather than being a binary on-off relationship only. Yet another is that more than one parent can be assigned to a child object in this way, whereas this too is not possible via direct parenting. Perhaps the most important advantage is that it seems to work for your purposes here, where direct parenting did not. I'm not entirely clear as to why. If anyone knows the answer, please explain this for me.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.