ComfyUI-mesh2motion
A ComfyUI custom node that embeds a heavily-modified fork of Mesh2Motion as an interactive 3D editor directly inside a node.
Paketprofil
- Status
- Überprüft
- Verleger
- @jtydhr88
- Quelle
- GitHub
README
ComfyUI-mesh2motion
English | 简体中文
A ComfyUI custom node that embeds a heavily-modified fork of
Mesh2Motion as an interactive 3D editor
directly inside a node. Pick a rig, pick a camera move, tune the shot,
and the node emits an IMAGE (single frame) + VIDEO (rendered
camera move) that flow into the rest of your ComfyUI graph.
https://github.com/user-attachments/assets/11b87a68-32d7-45ba-b59c-4a6bb950310b
What changed vs. upstream
This is a deep rework of the original plugin. If you used an earlier version, expect the following:
- One primary node. Node-embedded editing routes through a single
Mesh2Motion Explorenode; the oldCreate/Preview/Savevariants are gone. - Right-click / top-menu open a separate "window" editor. The
lightweight dialog path is back (1.1.0+) but it now loads its own
pages (
index-comfyui-window.html/create-comfyui-window.html), kept off the node-mode code path so the two never fight over DOM / bridge state. No Vue / PrimeVue runtime anymore — plain DOM modal. - All node-mode UI moved into the iframe. Skeleton picker, camera preset browser, tuning controls, timeline — every control the user needs is inside the embedded editor.
- Full state persistence. Everything the user picks or tunes is
saved inside
node.properties, so reloading the workflow restores the exact shot. - Video output is first-class. The node outputs a
VIDEOdirectly (webm decoded server-side via PyAV), no separate frame-list node needed.
Installation
cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyUI-mesh2motion.git
Restart ComfyUI. No extra Python dependencies — everything else is either bundled or already in ComfyUI.
The Mesh2Motion Explore node
Node inputs and outputs
Widgets
| Widget | Type | Purpose |
|---|---|---|
show_skeleton | bool | Draws the bone helper on top of the mesh |
mirror_animations | bool | Mirrors the animation around the rig's symmetry plane |
preview_output | bool | Overlays a crop rectangle matching width/height so you can see what'll actually be captured |
checker_room | bool | Wraps the scene in a checkered room for more "AI-friendly" rendering |
width / height | int | Output resolution for both IMAGE and VIDEO |
fps | int | Frame rate written into the VIDEO (the timeline plays at the preset's native cadence; this only sets the encoded rate) |
Outputs
| Output | When it's filled |
|---|---|
IMAGE | Always — one screenshot of the viewport at the current playhead position |
VIDEO | When a camera preset is active — a rendered webm of the whole camera move |
Usage guide
1. Drop the node and open the editor
Add Mesh2Motion Explore from the node menu (category 3d/mesh2motion).
The node renders an interactive 3D editor in place — no separate window
or modal.
2. Pick a skeleton (left side)
Skeleton panel
The left activity bar has a button that opens the Skeleton panel. Two sections:
- Primitives — cube, sphere, capsule, cylinder, torus, cone. Useful for testing a camera path without loading a character, or for background elements.
- Character rigs — Human, Fox, Bird, Dragon etc. Each rig ships with a set of compatible animations.
Selecting a character loads its rig, its default mesh, and its animation library (right panel → Animations).
3. Pick an animation (right side → Animations)
Animations panel
Opens via the right activity bar's first button. Animations are filtered to the active skeleton type. Clicking one loads it into the mesh and adds an animation track on the timeline.
4. Pick a camera preset (right side → Camera Presets)
Camera preset picker
Second b
Knoten in diesem Paket
1 Knoten
Knoten in diesem Paket
1 Knoten- Mesh2MotionExplore
Quellen
3 Quellen
Quellen
3 QuellenVerifiziert 19. Okt.
Verifiziert 19. Okt.
Quellenauszüge
1 Auszug
Quellenauszüge
1 AuszugSource context: Repo jtydhr88/ComfyUI-mesh2motion
