Learning about ragdolls question.

Hey, so I decided to learn how to make at ragdolls. I started off by just simple stuff. So I decided to join like 2 wood planks.
When I spawn it in game, it spawns as 2 seperate parts.
Here is the pictures:

That’s in model viewer showing bones.

And in game:

Here is QC file, I know something is wrong there, but I have NO IDEA what.


$modelname als/SHIT.mdl
$scale 1.0
$body "Body" shit.smd
$sequence idle "idle" fps 30 ACT_IDLE 1
$illumposition 0 0 0
$surfaceprop "wood"
$cdmaterials "als/"
$collisionjoints "shit_col.smd" {

    $mass 5.0
    $inertia 1.00
    $damping 0.01
    $rotdamping 5.45
    $rootbone "1"
    $jointrotdamping "box02" 0.00

    $jointmassbias "box01" 0.00
    $jointinertia "box01" 3.80
    $jointdamping "box01" 0.30
}
$sequence ragdoll         "idle"         FPS 30         activity ACT_DIERAGDOLL 1


I think you didn’t generate and included the join constraints

How do I do that? Mind explaining?

It’s where you set the max and min rotations for each bone using the model viewer. After that, you’ll click generate qc and just paste it on your qc

The issue here is that you have 2 non-physical bones in between your 2 physical parts.

What I mean is that, in a model/ragdoll, a bone can be used for animation, but may or may not have a physical part attached to it in the physics model. For the model to stay together, you can’t have any non-physical bones separating the link between the physical ones. Or else they won’t get simulated as such.

As far as I can tell in that model viewer shot, you have a bone inside each piece of wood, which have the physical portions affiliated to them. As well as 2 bones in the middle to create the hinge. You don’t need the 2 bones inside the pieces of wood, they’re useless.

Attach the physics parts to the bones that are actually going to be rotating, which are the 2 bones in the middle.

Or you could also use a $bonemerge in the .qc to fuse the bones. And achieve the same effect. But, It’d be better for you to do it right from the start.