mmd-mpl 0.2.10

MPL is a rule-based Domain-Specific Language for creating MMD poses and animations using natural semantic syntax
Documentation

MPL - MMD Pose Language

MPL is a rule-based Domain-Specific Language for controlling MMD bones and creating animations using natural language commands.

Gallery and playground

Why MPL?

Instead of manually calculating quaternions and dealing with bone direction complexities, MPL provides intuitive pose descriptions and structured animation creation.

Latest Syntax

MPL now supports structured pose definitions and animation sequences:

Pose Definitions

@pose kick_left {
    leg_l bend forward 30;
    knee_l bend backward 0;
    leg_r bend backward 20;
    knee_r bend backward 15;
}

@pose kick_right {
    leg_r bend forward 30;
    knee_r bend backward 0;
    leg_l bend backward 20;
    knee_l bend backward 15;
}

Animation Sequences

@animation walk {
    0: kick_left;
    0.3: kick_right;
    0.6: kick_left;
    0.9: kick_right;
}

Main Execution Block

main {
    walk;
}

Bone Command Format

Format: bone action direction amount

Actions: bend, turn, sway, move
Directions: forward, backward, left, right, up, down

Built-in Safety

  • Anatomical constraints: Prevents impossible poses (elbows can't bend backward)
  • Range limits: Automatically clamps values to realistic human movement ranges
  • Action validation: Only allows anatomically correct bone movements
  • Quaternion mathematics: Properly combines multiple rotations on the same bone

Supported Bones

Body Core: base, center, upper_body, waist, neck, head
Arms: shoulder_l/r, arm_l/r, arm_twist_l/r, elbow_l/r, wrist_l/r, wrist_twist_l/r
Legs: leg_l/r, knee_l/r, ankle_l/r, toe_l/r
Fingers: thumb_0/1/2_l/r, index_0/1/2_l/r, middle_0/1/2_l/r, ring_0/1/2_l/r, pinky_0/1/2_l/r

📄 License

GPL-3.0 License - see LICENSE for details.