Nodes/Kimodo Motion Bridge/Kimodo Export Rive Runtime Bundle
ComfyUI Node

Kimodo Export Rive Runtime Bundle

Kimodo motion, shrink-wrapped for Rive's 2D runtime

By GuardSkill·Created a day ago·Updated a day ago· 0
Kimodo Export Rive Runtime Bundle
  • motion
  • rive_zip
  • motion_json
  • preview_gif
filename_prefixkimodo_rive
sample_index0
viewfront
pixels_per_meter240
include_root_motiontrue
rive_template_path

Rive is a 2D animation runtime - the thing behind slick game menus, loading characters, and web animations. This node is the bridge from ComfyUI's 3D-generated motion into that 2D world: it projects the Kimodo motion down to an orthographic 2D bone track and packages it as a self-contained runtime bundle your web or app code can actually drive. It's not a video of a character; it's motion data plus a tiny driver, which is a different and often more useful thing.

What it produces

Inputs: motion, filename_prefix, sample_index, plus the projection controls - view (front or side), pixels_per_meter (default 240, how many pixels represent a meter of motion), and include_root_motion (whether the character's travel across the screen is kept). Optionally rive_template_path accepts an authored .riv skin to include.

Three outputs, all file paths:

  • rive_zip - the bundle: motion.json (the 2D bone track), kimodo-rive-driver.js (a small JS function that loads motion.json and drives a Rive artboard), bone-map.json (which Rive bone maps to which Kimodo joint), a preview GIF, and your supplied .riv if you gave one.
  • motion_json - the track on its own.
  • preview_gif - a GIF you can look at without writing any code.

How it works - and the honest limits

Because Rive is 2D, this is an orthographic projection, not a lossless copy of the 3D motion. The exporter reads the character's front (or side) view, bakes bones into keyframes, and writes a driver that plays them back on Rive bones via the official Canvas Advanced runtime. The README is refreshingly direct about what that means: depth, body twist, self-occlusion, and fingers must be authored in the Rive character or state machine. You can't get a character that was drawn for a straight-on view to convincingly "turn around" from 3D data alone - that's a content problem, not a code problem.

Install

Ships with Kimodo Motion Bridge (Manager → search the pack title, or clone + pip install -r requirements.txt + python install.py, restart). Node under Kimodo/Export. Note this node family is the one with the extra runtime requirements: Node.js 18+ with npm, ffmpeg/ffprobe on PATH, and a Chromium browser (Playwright Chromium is supported) for the preview-GIF step. Core generation, NPZ, BVH, FBX, and Unity work fine without those - Rive preview rendering is the part that needs them.

Who should reach for it

If you're shipping a Rive-driven UI, a game character, or a web animation and you want AI-generated motion to drive it at runtime, this is the pack's cleanest path - you get code you can wire up, not just a movie. If all you wanted was to watch a character move, you probably want Kimodo Render Rive Skinned Character, which renders actual video and is friendlier for eyeballing results. Choose based on whether your destination is a Rive artboard or a video file.

CategoryKimodo/Export

Inputs (7)

NameTypeDefaultDescription
motionKIMODO_MOTION
filename_prefixSTRINGkimodo_rive
sample_indexINT00–15
viewCOMBOfront2 options: front, side
pixels_per_meterFLOAT2401–2000
include_root_motionBOOLEANtrue
rive_template_pathoptSTRINGOptional authored .riv skin; absolute or relative to ComfyUI/input.

Outputs (3)

NameTypeDescription
rive_zipSTRING
motion_jsonSTRING
preview_gifSTRING