Repository navigation
Releases
mmdance 0.2.0: four more productions, sets, solved cameras, two characters, cloud rendering
Four more productions on the same engine, and everything they needed as opt-in config.
DreamWings_10MB.mp4
DreamWings: two Tripo-generated characters, Claude and then ChatGPT, dance 鸭梨P's MMD motion 梦的翅膀受了伤 (15 s, a motion-capture meme) on a lobby set appended from its own .blend, filmed by a camera solved from the meme's reference video, with motion blur. An under-10 MB copy of the 1080p render; credits in projects/dreamwings.
New productions (projects/)
- deepseek_chika: a whale maid with an apron layer, a tail chain and hands that share their material with her neck, in a room lit by sunlight through its windows.
- chatgpt_chika: a dragon woman with wings, a tail and bell sleeves; project code simulates the sleeves and beats the wings.
- claude_chika_v3: the first production redone, with hair per lock, a calmer gown, drawn-hand finger joints and a painted face rebuilt as geometry (mouth, layered eyes, shape keys).
- dreamwings: a second dance with two characters taking turns, config only.
Engine
- Recreating a dance video:
camera.trackkeys a camera from a track solved from reference footage, andcamera.track_dancerturns the dancer with it;stage.builder = "set"appends a set from another.blendand scales it (and its lights) around the dance; a key light that follows the camera, light-linked to the character; motion blur and the other[render]options. - Your own code on the built character:
stage.steps, shared between projects by path, withphysics.body_track()andphysics.sim_key()for project simulations. - More bodies: tail chains with a sway, hair per lock, finger joints moved to drawn-hand proportions, thumbs at an MMD hand's rest, vertices left without weights.
- Output:
[[encode.parts]]cuts two projects' renders into one video; song ending and fade options;encode.copieswrites the 720p and size-limited copies with their own bitrate and tune. - New commands:
python -m mmdance facialrewrites a facial VMD that doesn't fit the character, andpython -m mmdance packwrites a self-contained copy of the built scene.tools/remotesets up headless EEVEE on a Linux cloud GPU (RunPod), checks that EEVEE got the GPU, and splits the frames over several Blender processes.
Reproducibility
- The reference production (
projects/claude_chika) still rebuilds to the same caches and the same frames (±1 from the GPU). - From the frames,
encoderemakes the released DreamWings video byte for byte, and from the released videos, the 720p and 10 MB copies of both productions. AGENTS.mdhas the regression standard and the pitfalls met so far, for people and coding agents.
Built on Windows 11 with Blender 5.2 and MMD Tools; DreamWings was rendered on a RunPod L40S. No characters, motions or music are distributed.
Docs: https://liuyangyi.com/mmdance/ · LLM index: llms.txt
mmdance 0.1.0: MMD dances on any Mixamo-rigged Blender character
First release.
Claude_ChikaDance_10MB.mp4
The example production: a Tripo-generated character dances akomni's MMD motion チカっとチカ千花っ♡ (94 s) with the package's camera, facial track and song; the gown and hair are simulated. A 720p copy of the 1080p render.
A headless, config-driven Blender pipeline that makes a Mixamo-rigged character (Tripo, Meshy, Mixamo, AccuRig or a custom rig) perform a MikuMikuDance (MMD) dance:
- VMD → Mixamo retargeting: proxy MMD skeleton at the rig's joints, world-space transfer relative to MMD's A-pose, shared twist bones, analytic two-bone leg IK.
- MMD camera import, custom shots, and a follow camera when there is no camera VMD.
- Skirt, layered-gown and hair physics: automatic bone chains, a numpy position-based solver (jointed chains with angular limits, capsule and box colliders, inelastic contacts), baked to keyframes.
- Facial animation from VMD morphs: shape keys, or expression atlases for painted faces.
- Auto-rig repairs: hands rebuilt from finger bones, hair/cloth seam rip, rigid boot weights, cross-side leg weights.
- Stage, EEVEE render (parallel, resumable) and encoding with the song.
- CLI:
python -m mmdance new | inspect | vmd | build | stills | render | encode | qa.
Verified against the production it was built for (a 94 s dance with a Tripo-generated character): every cache, the face atlases and the rendered frames are reproduced exactly. It has only been run on one character so far, on Windows 11 with Blender 5.2 and MMD Tools 4.5.14. No characters, motions or music are distributed.