ComfyUI Adds Native Gaussian Splat Manipulation Nodes for Rendering, Meshing, and Transformation

Michael Rubloff

ComfyUI has added a native GAUSSIAN type and a set of first party manipulation nodes for working with 3D Gaussian splats directly in the graph editor, shipped in v0.23.0. The addition requires no external dependencies and registers GAUSSIAN as a data type alongside IMAGE, MASK, and LATENT, meaning splat data can flow between nodes the same way images and tensors do in existing workflows.
The GAUSSIAN type is a variable length batch of render ready Gaussian primitives storing positions, scales, rotations, opacities, and spherical harmonic coefficients. Four utility nodes ship with it. PreviewGaussianSplat provides an interactive 3D canvas preview inside ComfyUI's UI, using a new PreviewUI3DAdvanced output type that renders the splat inline without leaving the workflow editor.
RenderSplat is a perspective correct anisotropic EWA rasterizer that produces full image outputs from a splat. It supports four visualization styles, color, clay, depth, and normal, along with turntable orbit animation and camera_info passthrough for chaining into downstream image nodes. SplatToMesh extracts a polygon mesh from a splat with vertex colors intact, flagged with the KHR_materials_unlit extension so the mesh renders using unlit/emissive shading rather than PBR. The fourth set of nodes, TransformSplat, MergeGaussian, and InfoGaussian, handles affine transforms, multi-splat concatenation, and metadata inspection.
The loader detects .ply, .splat, .ksplat, and .spz by signature rather than extension, and the exporter can write .ply with full spherical harmonic coefficients, .ksplat, or .spz depending on what the downstream viewer expects.
Prior to this addition, gaussian splat support in ComfyUI arrived through either third party custom node packs such as Comfy3D, ComfyUI-GeometryPack and comfyui-PlyPreview, and Comfy Org's own TripoSplat integration, which wires a generation model into the native node graph but does not expose the splat data as a manipulable intermediate type. The GAUSSIAN type becomes a data structure that any other node, custom or core, can produce or consume.
Splat data can now be transformed mid workflow. A user reconstructing a scene outside ComfyUI can load the resulting .ply, apply affine transforms to reposition it, run RenderSplat to produce depth and normal maps for use in diffusion passes, then export back to .spz for delivery, all within a single graph, with no Python scripting required. Once a splat is a mesh with vertex colors, the SplatToMesh node can pass into the existing mesh processing and texture nodes that assume polygon geometry.





