Nodes/kubakub nodes/kubakub pointclouder
ComfyUI Node

kubakub pointclouder

Lifts a picture or a video into up to two million points by its depth and films them with a camera move. Connect the depth of any depth node (Depth Anything 3 / 2, Marigold ...). On the node: drag to look around (Shift-drag moves, the wheel goes nearer), set the move from the view, pick a camera (push in, orbit, handheld ...) or record your own; the look (colours, glow / ink / solid, depth, fine points, a flow that streams parts of the cloud along smooth swirls: everywhere, in a mask, near tracked things or near your forces; trails, breathe, wind, curl, a scan through the depth) changes live while it plays. Forces: draw curves with the mouse (wind along them, attract, repel, curl either way) and connect regions (all windows attract ...). A batch of pictures morphs: every point travels to the point of the next picture with the same brightness. 'field' (a mask, e.g. the tracker's 'near') pushes points out; the tracker's tracks sit in the cloud at their depth; a sound makes the flowing parts burst on the beat, the cloud swell with the bass. Nothing connected: a sample facade.

By kubakubkub·Created about a month ago·Updated 2 days ago· 10
kubakub pointclouder
  • image
  • depth
  • field
  • regions
  • tracks
  • audio
  • sound
  • images
  • alpha
  • fps
  • ply
  • report
  • audio
◄look►
◄seconds0.0►
◄fps24►
◄long_side0►
◄batchauto►
◄save_plyfalse►
Categorykubakub/2d/motion

Inputs (13)

NameTypeDefaultDescription
lookSTRINGSet on the node; never typed.
secondsFLOAT0.00–600How long the render is. 0 = a video's own length, 3 s per picture (one picture: 4 s). Longer than the video: it loops.
fpsFLOAT241–120Frames per second of the render for pictures (a video brings its own).
long_sideINT00–8192The render's long side in pixels; 0 = the picture's own size.
batchCOMBOautoauto: a video input is a video, an image batch of up to 16 is pictures to morph, more is a video.
save_plyBOOLEANfalseAlso save the first frame's points as a .ply (output/kubakub/), for Blender, Houdini, MeshLab, TouchDesigner ...
imageoptIMAGE,VIDEOA picture, a batch of pictures (they morph into each other) or a video. Nothing connected: a sample facade with its own depth.
depthoptIMAGEThe depth of the same picture(s) / video from any depth node; which side is near: the pill on the node. Nothing connected: a soft relief from the brightness (connect a depth node for real depth).
fieldoptMASKPushes the points out where it is white, frame by frame: the tracker's 'near' (the points burst around what moves), kubakub mask animate, a shader's mask. How far: 'push' on the node. With 'where' = field the flow and the beat act only there.
regionsoptKUBA_REGIONS,MASKFrom any kubakub regions node (regions from matrix / masks / sam3 ...), or a mask: its groups become forces, set on the node per group (attract, repel, curl + / -). Connected as it is, the group with the most regions (the windows) attracts the flowing points. A mask: every white part is a region.
tracksoptKUBA_TRACKSFrom kubakub tracker on the same video: each tracked thing gets a ring at its place in the cloud, joined by lines (network, tree, within a distance). With 'where' = tracked the flow and the beat act only near them.
audiooptAUDIOA sound the cloud follows: the points burst out on the beat, swell with the bass, move more when it is loud (how much: 'sound' on the node). It plays with the cloud on the node and goes on to 'audio'. Pictures last as long as it.
soundoptKUBA_SOUNDFrom kubakub sound: the sound and how it is heard (tempo, gain, release), set once for every node that listens. Connected, it comes before 'audio'.

Outputs (6)

NameTypeDescription
imagesIMAGEThe filmed cloud, every frame.
alphaMASKWhere points are (for putting the cloud over something).
fpsFLOATFor Create Video.
plySTRINGThe saved .ply's path ('save_ply' on), else empty.
reportSTRING—
audioAUDIOThe sound, cut to the render (silence without one): for Create Video.