Adding Jigglebones
VDC reference: $jigglebone
In your 3d modeling tool, add a bone at the appropriate spot on the skeleton and give it a good name. The base or head of the bone should be placed where the mesh should not move and the tip or tail of the bone should be placed along the mesh that will move. In the qc file, add a $jigglebone command that uses the name you gave the bone in the 3d editing tool.
For example, if you wanted a ponytail to use a jigglebone, add a bone to the head bone and position the new bone to point down along the ponytail.
One way to start is find an addon that has jigglebone that is close to what you want. Decompile the model using Crowbar. Look at the $jigglebone in the qc file. Look at the jigglebone's position and what parent bone it is has in your 3d modeling tool.
Example $jigglebone I use for front part of a skirt
$jigglebone "valvebiped.jig_skirt_front" { is_flexible { pitch_stiffness 100 pitch_damping 5 yaw_stiffness 100 yaw_damping 5 length 10 tip_mass 1000 pitch_constraint -30 90 yaw_constraint 1 1 } }
The jig_skirt_front bone is in front, attached (as a child bone) to the pelvis bone, and points down along skirt (base at top of skirt; tip at bottom of skirt).
Instead of is_flexible, is_rigid works, too. The former allows a few more options. The has_base_spring option provides an up-down bouncy motion along the bone.
Pitch when bone points down means how much the bone tip will swing forward and backward; the yaw means swinging left to right.
Stiffness adjusts how quickly bone will swing, and damping adjusts how long it will take for it to stop swinging.
The length is "length of object your bone is attached to" but it doesn't always make sense. (A bigger length here makes it swing more oddly.)
The tip_mass is how "heavy" the tip part of the bone is. Play with those values to get the swinging to follow gravity.
The pitch_constraint has values for the range of pitch movement, in this case, -30 degrees (negative means backwards here) and 90 degrees (forward).
Play with all the values to understand them better. Most of the movement can be tested in HLMV by moving the model around and trying different poses via the sequences.