I would like to animate petals or weeds like this images. If arrow comes closer, petals open, or weeds move away from the arrow. What is the best way? I need to use those bones, so shape keys can be used. I tried to make it using damped track constraint, but it's really hard to control, so I am trying other way.
-
$\begingroup$ you can use drivers for this. e.g. you could add a beziercurve which drives a follow path of an empty which is IK object of each weed end bone. all you have to do then is add a driver to offset of the follow path with a simple math formula depending on the distance. and add a driver which rotates the armature with beziercurves depending on the arrow. $\endgroup$– ChrisCommented Jul 10, 2022 at 6:33
-
1$\begingroup$ would be nice if you would have shown what you tried so far... $\endgroup$– ChrisCommented Jul 10, 2022 at 6:37
-
$\begingroup$ possible result: [1]: i.sstatic.net/MHXVi.gif $\endgroup$– ChrisCommented Jul 10, 2022 at 6:55
-
$\begingroup$ it looks nice. how did you make it? you did somehting like this video? youtu.be/imbIsNAvUpM what I want to do is like when weeds contact something like a ball I want them to fall like my image 2. $\endgroup$– YokomizoCommented Jul 10, 2022 at 8:45
-
$\begingroup$ as i wrote in the comments, that's how i did it. $\endgroup$– ChrisCommented Jul 10, 2022 at 8:50
2 Answers
You can use drivers as recommended by Chris, or you can use the Transformation constraint:
First create the armature with the controller and the chain of bones, give a Copy Rotation to bone 2 and 3 with bone 1 as Target:
Select the controller bone, open the N panel, put your mouse over the Transform > Y location, right click and choose Copy as New Driver:
Then select the first bone and in the N panel right click on the Z rotation value and choose Paste Driver, the value will turn purple:
You can change the driver parameters: Open the Drivers editor, open the N panel > Modifiers, create a Generator, and play with the X^1 value in order to increase or invert the influence of the controller:
You cand also use the Transformation constraint:
Give a Transformation constraint to bone 1, in Local Space/Local Space, Map From > Location and set the Y location to 0 and 1 (or whatever value in local space), Map To > Rotation and set the Z Source Axis to Y (as it is the Y location of the controller that will determine the Z rotation) and choose the Max Angle of rotation:
Here is what it gives when you move the controller:
Now just duplicate the chain of bones in Edit mode and rotate them with CtrlR.
-
$\begingroup$ I tired both. transformation constraint is the easiest way. It can be tweaked easily. I always forget how my driver expression works, but transformation constraint tells me what I did, I will use it. thank you. $\endgroup$– YokomizoCommented Jul 12, 2022 at 6:29
Other answers here are fine, but my personal way to do this would be via locked track and copy rotation constraints.
First, we'll need to set the axes of our bones so that they're pointing at the center point. We can do that by snapping cursor to our control bone and then recalculating roll to cursor. Now all of our bones' +Z axes are pointing at the control:
We'll give each petal root a locked track constraint, lock X, track +Z, targeting our control. We can do this on one bone, and then use copy constraints to selected to apply this to all roots:
Now we can give our child petal bones copy rotation constraints, local->local, targeting their roots:
Now, when we move our control bone, our roots will rotate along their X axes to track it, and their children will bend in and out to follow:
-
$\begingroup$ I did same kind of thing using damped track, but it makes bone's z axis look controller so when controller bone gets closer to petals, petals close. and when controller goes far from petals, petals open. it's not intuitive. when something like a bee comes closer to petals I want them to open. because petals controller copies this bee position. $\endgroup$– YokomizoCommented Jul 12, 2022 at 6:23
-
1$\begingroup$ so I made aim bone and controller bone. this aim bone is the target of track constraint, and when controller bone goes closer to petals, it makes aim bone moves away from petals to open them, but this setting is hard to tweak so I am trying other ways now. anyway I don't know that bone roll can be edited using 3D cursor. I am gonna use it. $\endgroup$– YokomizoCommented Jul 12, 2022 at 6:24