Close

Experimental: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 three outputs which is the same data in three forms: A SOP where the weight is expressed as a SOP attribute, a CHOP where the weight is a channel, and a TOP where the weight is placed in the alpha channel.

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.

Note also there is a band where point weights fade out from 1 to 0.

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

pointField outputs all three formats (CHOP, SOP band TOP). (However all the field weight calculations for the SOP are done in CHOPs and merged into the SOP for output.)

If you've seen the fabulous work of Ryoichi Kurokawa, 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.