3DGStoTD
Stream Gaussian Splats from ComfyUI into TouchDesigner as live point data
- splat
GaussianSplattingtoTD - displayed in ComfyUI as 3DGStoTD - is the node that streams 3D Gaussian Splatting data from ComfyUI into TouchDesigner. The ComfyUI2TD.tox component parses it into CHOPs, and TD can render it with a free preview component. If you're doing photorealistic 3D scenes - the splatting workflow captures real scenes or renders, then splats them for viewpoint-free playback - this is the piece that gets the splat into your live TD project instead of locking it in a saved file.
The name is slightly misleading in that it accepts two different sources: a SPLAT socket (from ComfyUI-Sharp, which you must install) or a plain ply_path string pointing at a PLY file. The SPLAT path is the in-graph route - the splat stays in memory and streams through - while ply_path is the file route for splats you've already written to disk.
How it works
The interesting part is what the node does to the data before shipping it. In-memory SPLAT objects from ComfyUI-Sharp carry activated parameters - opacities through a sigmoid, scales through exp - so the node inverts those back to standard 3DGS PLY parameter space (logit opacity, log scale), pulls the f_dc color term, and repacks everything into a binary PLY with the classic gaussian fields: position, color, opacity, scale, rotation. That standard-format PLY is what goes over the WebSocket (a custom message type), and the tox turns it into CHOPs TD can manipulate - points you can position, scale, and feed to the gaussian-splatting preview TOP.
The inputs
An output node; the splat materializes in TD.
- splat - optional
SPLATinput from ComfyUI-Sharp. Prefer this for in-memory streaming. - ply_path - optional string, a path to a PLY file. Either source works; the tooltip notes they're alternatives.
- broadcast - off by default (current client only).
Install
Pack install is standard - ComfyUI Manager search ComfyUI-TD, or:
cd ComfyUI/custom_nodes
git clone https://github.com/JiSenHua/ComfyUI-TD.git
Restart; dependencies (trimesh, imageio-ffmpeg, soundfile, plyfile) come with it. The heavier requirement is ComfyUI-Sharp for the SPLAT route, and the tox component must be v5.3.x or newer - this node needs the newer parser, so if you're on 5.1/5.2 from the image nodes, update it.
Gotchas
Version is the trap here. The README is explicit that 3DGS needs tox v5.3.x+, and the pack's other nodes only demand 5.1 - so an otherwise-working setup can silently fail on this node. The splatting preview in TD comes from Tim Gerritsen's community asset (free on the Derivative forum), which the pack credits; you'll want that for an actual preview rather than raw CHOP numbers. And if you're doing this on cloud ComfyUI, expect big payloads - a dense splat is far heavier than an image, so keep the broadcast flag off unless you really need every client to get it.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| splatopt | SPLAT | Optional input source. Choose either this SPLAT input or ply_path. If both are provided. | |
| ply_pathopt | STRING | Optional input source. Choose either a PLY file path or the SPLAT input. If both are provided,. | |
| broadcastopt | BOOLEAN | false | Send to all connected ComfyUI frontend clients. If disabled, the data is sent only to the current client. |
Outputs (0)
No outputs