Points node
Points Merge
Combines any number of point clouds into a single cloud. Points Merge is the junction box of the composable points pipeline: geometry samples, animated clouds, Vision landmarks, and raw JSON point data can all flow in through separate cables and come out as one flat point array that any consumer — Plexus, Points Visualize, Point Animation, Liquid Simulation — treats as a single source.
Inputs
| Port | Type |
|---|---|
| PointsThe first cloud to combine. Accepts point arrays, Vision Body/Hand/Face landmarks, JSON or any x,y,z structure; connect more sources on the plus input, up to 32 extra slots. The merged result stops at 20000 points. | structure |
Outputs
| Port | Type |
|---|---|
| PointsThe first cloud to combine. Accepts point arrays, Vision Body/Hand/Face landmarks, JSON or any x,y,z structure; connect more sources on the plus input, up to 32 extra slots. The merged result stops at 20000 points. | structure |
| Count | int |
How It Works
The node starts with one structure input named Points plus a "+" wildcard slot. Connecting a cable to "+" turns it into a real port named [0] and spawns the next "+", then [1], [2], and so on — the same grow-on-demand pattern as the multi-image Canvas. Up to 32 dynamic slots can be created this way.
Every frame (the node runs continuously, since its sources are usually live or animated), each connected input is passed through Grafit's universal point-cloud extractor and the results are concatenated in port order — the primary Points slot first, then [0], [1], … in sequence. The extractor accepts far more than plain point arrays:
| Input shape | Interpretation |
|---|---|
| Array of 3D points | Used as-is |
| Array of 2D points | Promoted to 3D with z = 0 |
| Dictionary with numeric x and y (optionally z) | One point; key spellings x/X/posX/px etc. all accepted |
| Array of exactly 2 or 3 numbers | One point [x, y(, z)] |
| Any other structure or JSON | Recursed in stable key order; every point-shaped leaf is collected |
That last rule is what lets a raw Vision Body, Hands, or Face landmark structure be wired straight into a merge slot: the nested joints are flattened into points automatically. Dictionary recursion follows a deterministic key order, so ordered sources keep a stable point sequence frame to frame.
The concatenated result is emitted on the Points output, with the total on the Count output. A safety ceiling of 20,000 points protects the frame rate — if the combined cloud exceeds it, the cloud is truncated to the first 20,000 points (later inputs lose points first, since concatenation is in port order).
Parameters in Depth
- Points (structure) — the primary input slot. Accepts anything the point-cloud extractor understands (see the table above). An unconnected or empty slot simply contributes nothing.
- [0], [1], [2] … (structure, dynamic) — additional slots created on demand by connecting to the "+" wildcard input. They are evaluated strictly in index order after the primary slot, which defines the ordering of points in the merged output. Disconnected dynamic slots are skipped. Maximum 32 dynamic slots.
There are no other parameters — the node is deliberately parameter-free. Ordering is controlled by which slot a source is plugged into, and any spatial adjustment belongs in a Point Transform placed before or after the merge.
Use Cases
- One Plexus over two bodies: two Vision Tracking → Landmarks to Points chains (one per tracked person) → Points Merge → Plexus, so the mesh connects across both people instead of rendering two isolated webs.
- Geometry plus live landmarks: Geometry to Points (a circle of points) merged with Landmarks to Points (a tracked hand) → Points Visualize, so a static ornament and a live hand render as one instanced draw with shared styling.
- Layered shape animation: several Geometry to Points → Point Animation branches with different motion settings, merged into one cloud and fed to Points Visualize — one renderer, several independently animated sub-clouds.
- Combined morph target: merge multiple small clouds into a single rich target, then use it as Points B of Point Morph to dissolve one shape into a composite of several.
- Feeding the fluid: Points Merge → Liquid Simulation's Points input, so multiple point sources (mouse trails via Point Trail, landmark clouds, sampled geometry) all emit dye and stir the liquid together.
- Trail over everything: Points Merge → Point Trail, giving every merged source a shared time-delayed echo without duplicating the trail node per source.
Tips
- Output order is deterministic: primary slot first, then [0], [1], … — index-based consumers downstream (Get by Index, per-index gradient coloring in Points Visualize) rely on this, so pick slots deliberately.
- If a source's point count fluctuates (e.g. raw landmarks that drop when occluded), every point after it shifts index each frame. Stabilize such sources with Landmarks to Points before merging when downstream indexing matters.
- The 20,000-point ceiling truncates from the end. Put your must-keep sources in the earlier slots, and thin oversized clouds with Point Density before the merge instead of relying on truncation.
- Merging is CPU concatenation each frame — cheap in itself, but everything downstream now processes the combined count. Point Density after the merge is the standard pressure valve.
- The node accepts raw landmark structures directly, but it flattens them naively per frame. For attachment-grade stability (fixed indices, held positions during occlusion), convert with Landmarks to Points first and merge the stabilized clouds.
Open Points Merge in the interactive catalog →
Points Merge is one of 381 nodes in Grafit Pro.
Free download. Every feature for 7 days, no card. Then €99.99 once — or keep playing your projects as a Player.