Export SMPL to 3DCGI Software
Exporting SMPL to Blender, UE, Unity
- smpl
Everything the MotionDiff pack produces lives inside ComfyUI until you want to do something real with it - rig it in Blender, drop it into Unreal, composite it in a video editor. Export SMPL to 3DCGI Software is the door out. It takes a single-subject SMPL body (the kind you get from Smplify Motion Data or SMPL Loader) and writes an actual mesh file for every frame of the motion into a folder in Comfy's output directory. One frame of a 196-frame motion = 196 .glb (or whatever format you pick) files.
This is the single-subject version of the node. If your motion came from the image-estimation side (Human4D_Img2SMPL / SpectreImg2SMPL) and contains multiple people, you want Export Multiple SMPL Subjects to 3DCGI Software instead.
How it works
The node takes the SMPL pose parameters (thetas), converts them to a vertex mesh per frame using the same body model the pack renders with, and exports each frame as a Trimesh object in your chosen format. Formats come straight from Trimesh's mesh-format list - glb is the default and the best general choice, but obj, ply, stl, dae, off and more are there. Files land in ComfyUI/output/<foldername_prefix>_smpl/ as numbered per-frame meshes (0.glb, 1.glb, …), ready to import as a sequence.
The inputs that matter
smpl- the body to export.foldername_prefix- folder name base in the output directory (defaultmotiondiff_meshes).format- export format. Stick withglbunless you specifically need OBJ for an app that can't handle glTF.
There are no outputs - it's a terminal/save node.
Installation
Part of Fannovel16/ComfyUI-MotionDiff. Install via ComfyUI Manager (search "ComfyUI MotionDiff") or clone into ComfyUI/custom_nodes and install requirements, then restart. Expect a heavy dependency install (smplx, pyrender, trimesh - trimesh is what does the exporting) and the Linux OpenGL packages (sudo apt-get install libglfw3-dev libgles2-mesa-dev freeglut3-dev) if you want the render nodes working too.
Gotchas
Disk space. A 196-frame motion exports 196 mesh files; with multiple formats or dense meshes that adds up fast, and each file is written per-frame with no deduplication. Export only the frames you actually need if you can.
Also note the folders always get the _smpl suffix appended to your prefix, so if you expected a folder named exactly motiondiff_meshes, it'll actually be motiondiff_meshes_smpl/. And a real one: exporting an SMPL mesh doesn't export the skeleton or rig - you get skinned mesh per frame, so bringing it into Blender as an animated character means importing as a mesh sequence rather than expecting a ready-made armature.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| smpl | SMPL | — | |
| foldername_prefix | STRING | motiondiff_meshes | — |
| format | COMBO | glb | 13 options: dae, stl_ascii, xaml, xyz, zae, stl, +7 |
Outputs (0)
No outputs