Playing Around with Fields and Weights

I wanted to assign a weight to each point using position relative to a plane oriented any way. Then visualize by instancing boxes. Rolloff controls etc. A work in progress, TOP point cloud weights not implemented yet but should not be to hard to get there. Weights can be used to control size, alpha, color, etc etc. and combined with other weights. Heading toward radial and other shapes, and proximity to lines. Just though i’d get this out. Reveal-mania

See below for latest .toe file.

1 Like

I’ve used my PhaserCHOP for this purpose, fine-tuning a rolloff for particles appearing/disappearing, becoming susceptible to forces etc. Rather than think about translation/rotation, it might be easier to select two points that form a 3D line. Each point from the SOP/CHOP gets projected onto this 3D line, in effect finding its closest point on the line. Sometimes this point is actually “outside” of the line, before or after the two points picked by the user. In this case the phase gets clamped between 0 and 1, but anything else that falls in the line is neatly between 0 and 1, which is useful for the PhaserCHOP. Play around with the PointA/B parameters and Edge
Fields_Phaser.zip (68.0 KB)

1 Like

Very cool adaptation to Field, David.

Here is Fields.4.tox. It gives a lot more choices of how you shape the field. First off, without any inputs, selecting SOP gives a regular array of points, and selecting CHOP gives random points, both in a 1x1x1 box. Or connect any set of points, allowing you to do point cloud shaping. (TOP points not implemented yet.)

Type lets you affect points on either side of a rotatable, translatable Plane, or inside/outside a transformable ellipsoid. Fadeout Range lets you feather out the points.

In Plane mode, Shoulder pushes the fadeout range inside or outside the plane. Also the plane can be shaped using the Parabloid parameters so you can scoop points out from a point cloud. field4 goes further, forming a cup by giving it a lookup curve that goes from 0 to 1 to 0 into input4.

If your model is big, make the Instance Size larger.

You can combine fields by using several Field COMPs and grabbing he “weight” channel of the first output. Whether you give it a SOP or CHOP as input, it outputs always the SOP (with a “weight” attribute") (seen in the viewer), and the CHOP with an added “weight” channel. To combine, just add/max/subtract/whatever the weight channels before instancing.

Once you get familiar with the parameters, it’s quite amusing to mess around with.

And thanks again to David for the adaptation. It’s kinda a third mode of proximity to a line segment, and is animated.

Did you upload the new file?

Also, you can get ideas/code for other fields here https://iquilezles.org/www/articles/distfunctions/distfunctions.htm

See below for latest .toe file.

Yes, great set of functions on iquilezles.org

More, updated sept 3…
Field.120.toe (62.2 KB)