Welcome to our complete guide for modders on creating jigglebones for custom models in Left 4 Dead 2. In this guide, we will cover everything you need to know about jigglebones, including what they are and how to use them with examples. We will also provide a list of tools you will need, such as Blender 2.79, Crowbar, and Half Life model viewer. If you already have bones, you can start from fixing them, and if you’re here for the jigglebone codes, you can jump straight to editing the QC file. This guide is applicable to any kind of model in the game, so let’s get started!
Creating the bones
But before we start, you should take a look to funreal survivor guide, you will learn important things like rigging
https://steamcommunity.com/sharedfiles/filedetails/?id=2225904754
Lets start
in blender, select your skeleton and go to edit mode, select the bone where you want the jiggle bone to be, i want the hair of my model to have physics so i will select the head bone
Press E to create a new bone and move it to the mesh you want to make the jiggles, keep adding bones depending on how much flexibility do you want
more bones = more movement and flexibility
To make the bones usable, export the model and re-import it
the bones should look like this after re-importing the model
and not this
Fixing the bones
go to edit mode, select ONLY the second black point of your bones like in this screenshot
move it to the same height of the first black point
more height will make the jiggles move higher when the character is moving
NOTE: The second black point that we moved should ALWAYS be in the back of the first one or the axis will be inverted, the bone will move forward when the character moves forward and thats not realistic at all
like this
and not this
now the bones should look like this
second step
again select the second black point of the bone
in bone data, change the roll to 180
do this with every single bone, one by one, DONT SELECT ALL TOGETHER
RIGGING
now after you finished rigging your mesh should now move with your bones
export your model
Editing the QC
copy-paste the code you want below the $bonemerge or $proceduralbones
$jigglebone “your_bone_name”
{
is_flexible
{
length 6
tip_mass 250
pitch_constraint -80 80
pitch_stiffness 55
pitch_damping 7
yaw_stiffness 35
yaw_damping 7
along_stiffness 100
yaw_constraint -80 80
along_damping 0
angle_constraint 39.999999
}
}
$jigglebone “your_bone_name”
{
is_rigid
{
length 20
tip_mass 400
pitch_constraint -79.999998 -5
pitch_friction 2
pitch_bounce 0
yaw_constraint -50 50
yaw_friction 2
yaw_bounce 0
}
}
$jigglebone “your_bone_name2”
{
is_flexible
{
length 6
tip_mass 250
pitch_stiffness 55
pitch_damping 7
yaw_stiffness 35
yaw_damping 7
along_stiffness 100
along_damping 0
angle_constraint 39.999999
}
}
$jigglebone “your_bone_name3”
{
is_flexible
{
length 6
tip_mass 250
pitch_stiffness 54
pitch_damping 7
yaw_stiffness 40
yaw_damping 7
along_stiffness 100
along_damping 0
angle_constraint 50
}
}
$jigglebone “your_bone_name4”
{
is_flexible
{
length 6
tip_mass 250
pitch_stiffness 44
pitch_damping 7
yaw_stiffness 40
yaw_damping 7
along_stiffness 100
along_damping 0
angle_constraint 60.000002
}
}
$jigglebone “your_bone_name”
{
has_base_spring
{
base_mass 0
stiffness 400
damping 10
left_constraint -0.4 0.4
left_friction 0
up_constraint -0.1 0.1
up_friction 0
forward_constraint -0.5 0.5
forward_friction 0
}
}
$jigglebone “your_bone_name”
{
is_flexible
{
length 100
tip_mass 0
pitch_stiffness 200
pitch_damping 10
yaw_stiffness 200
yaw_damping 10
along_stiffness 100
along_damping 0
angle_constraint 19.999999
}
}
$jigglebone “your_bone_name”
{
is_flexible
{
length 10
tip_mass 250
pitch_constraint -30 30
pitch_stiffness 55
pitch_damping 20
yaw_stiffness 35
yaw_damping 20
along_stiffness 100
yaw_constraint -30 30
along_damping 0
angle_constraint 39.999999
}
}
you can edit this codes depending of your need, add or remove movement, gravity, mass and angle limits, the next section will be the hardest part, i will explaint everything about this codes
Editing Jiggles
now after copying the jiggle code you want, i will explain every code line from the jiggles
If a Jiggle Bone is “rigid”, a simulated mass is placed at the end of the bone, and the bone acts like a rigid stick. This spring creates rotational motion only, with the center of rotation at the base of the Jiggle Bone
If a Jiggle Bone is “flexible”, a simulated mass is placed at a set distance to the bone in the +Z axis, and the bone acts like a springy, flexible rod. This spring creates rotational motion only, with the center of rotation at the base of the Jiggle Bone, usually the most used
If a Jiggle Bone has a “base spring”, a simulated mass is placed on the base of the bone. This spring creates translational motion only, moving the whole Jiggle Bone in X, Y, and Z, this can be used for breast jiggles too
Simple squash and stretch sinusoid “boing.” Scales the affected bone.
How far the simulated mass is from the base in inches. This value should match the length of the bone; values larger than the bone length can result in odd and unpredictable movement in the jiggle bone if you don’t know what you’re doing
How much the simulated mass is affected by gravity. Zero disables gravity effects, whereas 1000 would be a heavy mass.
Specify the maximum angular deflection allowed, creating a conical boundary the jiggle bone cannot penetrate
Specify the minimum and maximum angular deflection allowed along the local yaw rotational axis. Angular values should not exceed +/- 90 degrees
Nonzero values create frictional forces when the jiggle bone is sliding against the plane defined by the yaw limit. Friction should not exceed 20 units.
Specify the minimum and maximum angular deflection allowed along the local pitch rotational axis. Angular values should not exceed +/- 90 degrees.
Nonzero values create frictional forces when the jiggle bone is sliding against the plane defined by the pitch limit. Friction should not exceed 20 units.
-stiffness:
How stiff the base spring is.
-damping:
The damping of the base spring.
-left_constraint:
The maximum amount the bone is allowed to move along the local X axis.
-left_friction:
The amount of friction applied in the up/forward plane when the spring is rubbing against the left
constraint.
-up_constraint:
The maximum amount the bone is allowed to move along the local Y axis
-up_friction:
The amount of friction applied in the left/forward plane when the spring is rubbing against the up constraint.
-forward_constraint:
The maximum amount the bone is allowed to move along the local Z axis.
-forward_friction:
The amount of friction applied in the left/up plane when the spring is rubbing against the forward constraint.
-base_mass:
How much the base spring is affected by gravity.
Ending
I recommend using half life model viewer that can be found in crowbar, so you dont have to open your game with every compile
I hope this guide has been useful to you to make jigglebones more complex and realistic, or anime girls with huge boobs
a little example of my jigglebones work
need more help? join our discord server Dead4Mods [discord.com]
donations = Paypal [paypal.me]
SPECIAL THANKS:
-ZeqMacaw for creating crowbar
-all the modding and guide community who are a great inspiration
And that wraps up our share on Left 4 Dead 2: Creating Jigglebones For Custom Models Complete Guide For Modders. If you have any additional insights or tips to contribute, don’t hesitate to drop a comment below. For a more in-depth read, you can refer to the original article here by ฿ØⱠ₮Ø₭¹⁷³ึ, who deserves all the credit. Happy gaming!