Close

Palette:pointField

The pointField component takes an input that is a set of XYZ points, and outputs a "weight" for every point. The weight represents the proximity of a point to a reference plane, a reference point, a reference paraboloid (a parabola in 3D), or other future shapes.

NOTE: See the full set of examples in the Point Field asset in the Community Posts.

In this component, the weights are displayed as scale factors for each box instance, but the weight can be used for anything.

The input can be a CHOP (3 channels containing XYZ), a SOP (using the XYZ of the SOP's points), or a TOP where each pixel's RGB channels represent an XYZ position and the alpha contains a 0 or Nan (not-a-number) if the pixel is unused.

The component has one output which is the TOP where the computed weight is placed in the alpha channel and the XYZ in the RGB channels are untouched.

With no input connected, the Default Data parameter lets you choose either a set of random points in a 1x1x1 box or a set of points in a 1x1x1 3D grid.

Turn on Bypass to see the original data, then Off again so we can see the effects of this COMP.

With Type set to Relative to a Plane, the pointField COMP masks out points that are on one side of the translated/rotated plane (where it sets weight=0), and setting the points on the other side of the plane to weight=1).

The default plane is the YZ plane at X=0. It can be moved/rotated using the transform parameter of pointField.

The plane can also be warped into a paraboloid using the Paraboloid Strength parameters, which lets you kind of scoop out points more surgically.

Note also there is a band where point weights fade out from 1 to 0: Adjust the Fadeout Range parameter to soften the transition.

Points on the plane have weight of .5, but the weight can be shifted to 0 or 1 based on the Shoulder parameter.

The component uses the weight to set the size of the instances between 0 and 1, but the weight that is output in the alpha channel can be used blend anything, like blend between a warped and unwarped point cloud, or affect color selectively. pointField can also be chained together to reduce or increase the resulting point weights.

If you've seen the fabulous work of Ryoichi Kurokawa (using Cinder), you've likely seen the kinds of reveal/displace/blend effects on point clouds that the pointField COMP alludes to.

PS: This component is intended to be hacked up for other purposes - add different field functions, input/output N-dimensional vectors etc. It provides a good starting-point methodology.