MPL is a domain-specific language that revolutionizes 3D motion and animation through human-readable, semantic syntax. Designed to bridge the gap between natural language and 3D movement, MPL transforms complex mathematical representations into intuitive, code-like commands that both humans and AI systems can easily understand and generate.
Current Implementation: MMD (MikuMikuDance) format support with plans for broader 3D animation ecosystems.
Gallery and playground
- Semantic commands: Intuitive, readable syntax for complex 3D movements
- Natural language alignment: Bridge human intent and 3D mathematics
- Built-in safety: Anatomically-aware constraints prevent impossible poses
- LLM-friendly syntax: Structured grammar for language models
- Training-optimized: Semantic tokens for AI motion synthesis
- Compositional intelligence: Modular components for pattern learning
- Cross-modal potential: Text-to-motion and motion-to-text transformations
- Composable architecture: Reusable animation building blocks
- Version control friendly: Text-based format for development workflows
- Extensible framework: Domain-agnostic design for future formats
@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 walk {
0: kick_left;
0.3: kick_right;
0.6: kick_left;
0.9: kick_right;
}
main {
walk;
}
Body Core: base
, center
, upper_body
, lower_body
, waist
, neck
, head
Arms: shoulder_l/r
, arm_l/r
, elbow_l/r
, wrist_l/r
Legs: leg_l/r
, knee_l/r
, ankle_l/r
, toe_l/r
Fingers: thumb_l/r
, index_l/r
, middle_l/r
, ring_l/r
, pinky_l/r
Format: bone action direction amount;
or bone reset;
Actions: bend
, turn
, sway
, move
, reset
Directions: forward
, backward
, left
, right
, up
, down
Multiple actions for the same bone can be combined on a single line using commas:
head turn left 30, bend forward 20, sway right 15;
arm raise up 45, rotate right 15;
neck reset;
The MPL compiler is available as a command-line tool (mpl.exe
in cmd/
directory) or build from source with cargo build --release
.
Usage:
- Compile MPL to VMD:
mpl -c input.mpl -o output.vmd
- Reverse compile VMD/VPD to MPL:
mpl -r input.vmd -o output.mpl
GPL-3.0 License - see LICENSE for details.