The document introduces Park Min-geun, a game developer who has worked on projects such as Dragon Ball Online and PlayNC billing servers. It then provides a detailed overview of how to implement ragdoll physics in games like Diablo 3, including the content pipeline to author ragdolls, exporting ragdoll data, using a game editor to test and tune parameters, and spawning ragdolls in the game world.
10. The ragdoll data is exported with the
model
Maya export Intermediate File
(Maya Plug-in)
11. Ragdoll data is imported by the game
editor (called Axe)
Intermediate File cook Run-time File
(Axe Game Editor)
12. Bones are sorted in parent-child order
struct Bone
{
int parent;
int child;
int sibling;
};
#define NULL_BONE (-1)
13. Here’s how we compute model space
bone transforms
// MS: model space
// PS: parent space
for (int i = 0; i < boneCount; ++i)
{
int parent = bones[i].parent;
if (parent != NULL_BONE)
transformMS[i] = transformMS[parent] * transformPS[i];
else
transformMS[i] = transformPS[i];
}
14. Bones with bodies are active, the rest
are leaf or intermediate bones
#define LEAF (-1)
#define INTERMEDIATE (-2)
int boneToBodyMap[BONE_COUNT];