Skip to content

mmdance 0.2.0: four more productions, sets, solved cameras, two characters, cloud rendering

Latest

Choose a tag to compare

@starryark starryark released this 28 Oct 19:38
· 1 commit to main since this release

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.track keys a camera from a track solved from reference footage, and camera.track_dancer turns the dancer with it; stage.builder = "set" appends a set from another .blend and 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, with physics.body_track() and physics.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.copies writes the 720p and size-limited copies with their own bitrate and tune.
  • New commands: python -m mmdance facial rewrites a facial VMD that doesn't fit the character, and python -m mmdance pack writes a self-contained copy of the built scene. tools/remote sets 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, encode remakes the released DreamWings video byte for byte, and from the released videos, the 720p and 10 MB copies of both productions.
  • AGENTS.md has 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