Point Key

Read with AI
All docs in one file (llms-full.txt)
PointKey #3D #Node

It leaves the position, color, and size of the points unchanged and rewrites only the per-point “order” (0-1) on output. It is the first stage of “make the order (Point Key) → turn it into a wave (Wave) → write it to an attribute (Attribute)”, and simply swapping how the order is assigned here changes how the later stages behave. The order is normalized to 0-1 between the minimum and the maximum of that point cloud, so it does not depend on the size or the placement of the point cloud.

Kind (dropdown)

  • Index — the point order as it is. The first is 0, the last is 1
  • Axis (default) — order by position along the direction set by Angle (degrees, default 0). At 0° it is left→right, at 90° bottom→top
  • Radial — order by distance from the origin
  • Point — order by distance from the position specified with PointX / PointY (both default 0)
  • Random — a random value per point. Seed (default 1) changes the ordering, and with the same Seed the ordering is the same every time
  • Texture — uses as the order the brightness sampled at each point’s position from the video connected to Texture

Turning Invert on reverses the order (0 and 1 swap).

Coordinates and brightness with Texture

The video corresponds to the XY plane centered on the origin, and Size (default 20, lower limit 0.1) is the world width that corresponds to the width of the video. The height is determined by the video’s aspect ratio. Points that fall outside this range become 0. Unlike the other Kinds, the brightness is not normalized, so a dark video stays at small values as it is. There is a delay of one to two frames before a change in the video is reflected in the order.

When you assign the order in a way that gives every point the same value (for example, a 0° Axis on a point cloud arranged in a single vertical column), every point becomes 0. When PointCloud is not connected, or the point count is 0, the output is empty as well.

Where to use it

Using the brightness of a video as the order becomes the entry point for “modulating a point cloud with video”. If you convert the centroid of Blob or the coordinates of Brightest Point into world coordinates with Remap and plug them into PointX / PointY, you can create ripples centered on a single moving point within the screen.

Input ports

Port IDType
PointCloudPointCloudInput
Anglefloat
PointXfloat
PointYfloat
Seedint
TextureRenderTexture
Sizefloat

Output ports

Port IDType
PointCloudPointCloudOutput

Scriptable members

PathType
angleInputfloat
pointXInputfloat
pointYInputfloat
seedInputint
sizeInputfloat
currentInvertbool

Synapse Apps (scripting)

await synapse.modules.create({ type: "PointKey" })

Pages linking here

Also referenced from