"The Citizen ragdoll has 18 bodies and 16 joints, countable offline"
▸ SYMPTOM
- You are sizing a ragdoll density or physics budget and need the body count of a Citizen-scale ragdoll.
- The number you carry from memory or folklore lands near 9 to 13 bodies.
- That estimate is roughly half the real count, so every per-body and joint-solve cost you derive from it is low.
▸ CAUSE
The Citizen ragdoll rig ships as two prefab files. Both are plain KV3 text, so you read the exact counts without an editor.
addons/citizen/Assets/models/citizen/prefabs/citizen_physicsshapelist.vmdl_prefab has 18 shapes. That is 17 capsules plus 1 cylinder.
addons/citizen/Assets/models/citizen/prefabs/citizen_physicsjointlist.vmdl_prefab has 16 joints. That is 12 PhysicsJointConical ballsockets plus 4 PhysicsJointRevolute hinges.
A guess of 9 to 13 bodies comes from picturing the major limbs and skipping the smaller shapes. The rig carries close to twice that, so a budget sized off the guess undercounts simulation cost per body and constraint cost per joint.
▸ FIX
Count the rig from the source files instead of estimating.
- Open
citizen_physicsshapelist.vmdl_prefaband count the shape entries. The Citizen rig has 18. - Open
citizen_physicsjointlist.vmdl_prefaband count the joint entries. The Citizen rig has 16. - Use 18 bodies and 16 joints as the per-ragdoll reference when you plan crowd density or a physics budget.
Both files are greppable KV3 text, so you script the count in a build step or a headless check with no engine running.
▸ WHY IT WORKS
The prefab files are the rig the engine loads, so their entry counts are the counts the physics solver pays for at runtime. A folk estimate models the limbs a person pictures, not the shapes the file lists. Reading the file replaces the estimate with the number the solver actually sees, which is what a density or perf budget has to be sized against.
- Published