View Full Version : How to rig bow ?

03 March 2008, 07:41 AM
Hi, I'm working on a fighting scene. Some bows and arrows need to be rigged. For Arrows I just threw bends on them, and it works nice. But, for bows , I don't know how to rig. I tried placing rivets on both bow ends to parenting joints to, then using aim constrain to force the joint aim to the other end , and after that I bind the bowstring to the two joints. And when applied bend to the bow , the bowstring scaled relevantly. But , I met some twist issue to the bowstring, when rotate the bow main control. Also , I don't know how to make proper deformation for the bowstring , cluster? wire deform? joints? I don't kow whether I'm on the wrong side of rigging things like bow and arrow. Any suggestions ?
Any and all help and comments will be greatly appreciated!

03 March 2008, 07:53 AM
I would think that the wood part would be just a normal deformation that could be controlled with 3 or 4 bones for the top and another three or 4 for the bottom. Then the string would basically be 2 straigt stiff polygon tubes....I think bows strings are always very taught.

Then I would just use set driven keys for the wood part to bend as the string part is drawn back. tricky spot would be the p-thwangGGG motion of the string right after the arrow goes flying. I think that that would be a special animation of the string components vibrating with a lot of motion blur.

Good luck, I hope that helps

03 March 2008, 12:36 PM
Hi,Stan! Thank you very much! I think I do need a lot of motion blur for the string part. I can't figure out how to rig it properly. It should be some sort of straight for upper and lower parts when drawn back ,but also should move some sort of arc shape when vibrating (damn!). I'll try some possible means ,but motion blur is a must ,I think. Thank you bro!

03 March 2008, 03:24 PM
duh, just came to me,


03 March 2008, 03:28 PM
dont know how to rig, but have done archery for a while, basically a wooden bow is a doublw ended lever, with the fulcums in the middle

hope this helps (probably not)

04 April 2008, 06:10 AM
for the bow vibration try this:

make a poly cube

add 2 attributs to it. amplitude and frequency

set frequency to 100
key the amplitude from 1 to 0 over 100 frames.

add expression:
// Output = Amplitude * (sin(Frequency * time))

$amplitude = pCube1.amplitude;
$frequency = pCube1.frequency;

$output = $amplitude * (sin($frequency * time));

pCube1.translateY = $output;
i think this would be the best way of making the vibration.

you just gotta use the this to drive whatever deformers you use on the string, maybe a single cluster weighted in the middle of the string moving in and out would work fine.

04 April 2008, 09:10 AM
Thank you HowardB! It looks neat and works nice.
Hi,tbrad,thank you too!

04 April 2008, 06:54 PM
For the bow I would use a couple Spline IK's. Use a whole bunch of joints for the upper and lower halves of the bow, with the root at the middle where you grip it. Then create a CV curve for the upper part, and another for the lower part, with the number of CV's being the number of control points you want on the bow. You need at least 4 CV's in each curve for a proper cubic CV curve. Then set up 2 Spline IK's, 1 for the top and 1 for the bottom, using the CV curves you created... you have to make sure Auto-Create Curve is NOT checked. Then convert the curves to cluster curves, which is in the Edit Curves menu I believe, at the bottom. If you can't figure that out, then just create a cluster for each CV. Then you can control those clusters to deform the bow.

For the string, I would probably do the same thing, and have a bone setup for the upper half and lower half of the string, with the root in the middle where you grip it. For this you won't need as many bones as you would for the bow, since the string stays relatively straight. Create 2 CV curves with 4 CV's each, 1 for the top half of the string and 1 for the bottom half. Set up the Spline IK's just like for the bow. You don't need to have as much control over the string, so I would constrain most of the clusters so you don't need to animate them. Point constrain the cluster at the top tip of the string to the bow's top spline IK handle, and the bottom tip of the string to bow's bottom ik handle. For the middle of the string, the 2 cv curves should meet, and you can either use 1 cluster for the both of them, or constrain 1 cluster to the other. This is the cluster you will use to control the string motion. For the other clusters on the string curves, I would point constrain them to both the center cluster and the tip cluster, then play with the weights on both to space them out properly. That way you don't have to animate them independently, and you can just animate the center string control.

Also, I would put a couple extra bones and CV points at the center of the string, so that you can bend the string around the archer's fingers, rather than have to string come to a sharp point in the middle when it's pulled back.

Another thing you can play with is locking the lengths of the CV curves, which might help to maintain the bow's and strings volume when you bend it, rather than eyeballing it with set driven keys or formulas or hand animating it.

Sorry if my explanation is confusing at all, but this is how I would approach it. Let me know if you have any problems setting it up. Good luck!

CGTalk Moderation
04 April 2008, 06:54 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.