The "TVPaint for Fusion" toolset allows you to interact with 2D cell animation data inside a BMD Fusion Studio node graph. A series of nodal operators allow you to work with TVPaint exported JSON data on the fly.
This TVPaint implementation is based around the "ScriptVal" datatype in Fusion, and works using ideas pioneered by the Vonk Ultra data node project.
To run TVPaint based workflows on your Resolve/Fusion system you will need the following tools:
- BMD Resolve Studio or Fusion Studio v18.5 - v20+
- Reactor Standalone Package Manager (Free)
- Vonk Ultra Data Nodes (via Reactor)
- Vonk DragDrop | vJSONFromFile (via Reactor)
- LGPL/GPL v3
-
Install the Reactor Package Manager for Resolve/Fusion.
-
Install the Reactor package named "Vonk Ultra" that is found in the "Kartaverse/Vonk Ultra" category in the Reactor window.
-
Install the Reactor package named "TVPaint Data Nodes" that is found in the "Kartaverse/TVPaint" category in the Reactor window.
-
Quit and relaunch Resolve/Fusion once for the fuse nodes to load.
Look in the Fusion "Script/TVPaint" menu to see the automation scripts.
Auto-build a comp node-graph based upon the active TVPaintLoader node selection.
- Add a TVPaintLoader node to your Fusion comp. Use the node's (Browse) button to select a TVPaint exported .json file on your hard disk. The JSON document's filepath will be entered into the Filename field.
- Select the TVPaintLoader node in the node graph area.
- Launch the "TVPaint > Build Comp" menu item, or press the "Shift + B" hotkey. A dialog appears that allows you to customize the settings. Click the "Run" button to continue.
- A TVPaint for Fusion nodegraph will be generated. Keep in mind, that a new undo state is created for you automatically so you can easily revert the changes made to your node graph.
This script is used to quickly cleanup a comp when you are doing repetitive experiments. Any node that is unselected in the node graph will be instantly deleted. As a result, this will leave you with only the currently selected nodes in the comp.
An undo point is defined when the script is run so you can revert the changes easily.
- Select several nodes in the flow area.
- Launch the "Scripts > TVPaint > Remove Unselected Nodes " menu item, or press the "Shift + Delete" / "Shift + Backspace" hotkey.
- All non-selected nodes will be removed from the the node graph.
Opens the "TVPaint for Fusion" Fuses folder in a desktop folder browsing window.
Fuses:/Kartaverse/TVPaint/
Opens the "TVPaint for Fusion" Comp examples folder in a desktop folder browsing window.
Reactor:/Deploy/Comps/Kartaverse/TVPaint/
The TVPaint data nodes are separated into the following categories and sub-categories based upon the function they perform:
Camera
- TVPaintCameraFPS
- TVPaintCameraPixelAspectRatio
- TVPaintCameraSize
Clip
- TVPaintClipDPI
- TVPaintClipFPS
- TVPaintClipMarkIn
- TVPaintClipMarkOut
- TVPaintClipName
- TVPaintImageCount
Create
- TVPaintBackground
IO
- TVPaintLoader
Layer
- TVPaintLayerBlendMode
- TVPaintLayerCount
- TVPaintLayerName
- TVPaintLayerOpacity
Link
- TVPaintLinkFilename
- TVPaintLinkImage
Project
- TVPaintProjectFormat
- TVPaintProjectVersion
The Fusion node graph allows for the use of "data nodes". This nodal operator driven approach allows the individual node based input and output connections to pass TVPaint encoded documents "down the flow" in a parametric fashion.
This is achieved by encoding the raw TVPaint JSON information into a Fusion datatype called a "ScriptVal" which is represented by a Lua table structure. The TVPaint data is passed between node input and output connections in a way that allows you to visually control the operations that dynamically create, load, edit, render, and save the cell animation.
An TVPaint node graph starts with an "TVPaintLoader" node that imports an existing TVPaint (JSON formatted) file from disk.
TVPaint is a trademark of TVPaint Développement. The "TVPaint for Fusion" toolset is an unoffical addon created by the Kartaverse open-source project.

