For points, scale will move them to a new location relative to the pivot point.
If you just toss a sphere of points into a Transform POP with scale, and don’t adjust the pivot (left at the origin 0,0,0), every point will just have its coordinates multiplied by that amount. If the sphere is also centred on the origin, it will grow evenly in all directions. If you move the pivot to the very bottom edge of the sphere, it will still wind up being the same size, but will grow upwards rather than evenly in all directions. If you set the pivot way outside of the sphere, scaling up will also move the sphere away from the pivot. You can think of scale as a multiple of the distance from the pivot.
So with my example, I’m setting the pivot to the centre of the field so that the points move away from the centre of the field. Scaling naturally has a larger effect on position the farther the point is away from the pivot, so the weight & its transition falloff help counteract that. Being farther away means scale has more impact, but with this setup, farther away has less weight, so reduces the impact.
If you do want your own velocity implementation, Feedback POP is the right way to do it. You’d do something like this:
- Point Generator POP to start
- Connects to Attribute POP, creating a new custom Float 3 attribute called Velocity, set to 0,0,0. (No initial velocity).
- Connects to Feedback POP, targeting the Null POP at the end.
- Change velocity somehow. Maybe with a Noise POP. On its Output page, Add Noise to Velocity (instead of default P) and output to Velocity.
- Use the Velocity to update P. Some ways to do that:
- Math Combine POP, with Operation A + B, adding P + Velocity with the results going to P. Doing any math on P will make points move.
- Transform POP, using the Mapping page, with Element set to Velocity, Target Parameter set to t (Translate), and Combine Operation set to Set. This overrides the Translate portion of the transform with whatever’s in Velocity.
- Add a Null POP to be the anchor of the end of the feedback loop, and set it as the Feedback POP’s Target POP.
Note that this will make the velocity be an amount of change to the points’ positions every frame, and so is subject to framerate changes & fluctuations. If you want velocity to be a movement of units per second, you’d need to do some extra math using a time delta from frame to frame.
The most likely reason you weren’t seeing your noise do anything in your feedback is if it’s connected upstream of the Feedback POP. Feedback (whether TOP or POP) takes its upstream OP as the momentary starting conditions, and then changes from there need to be in between the feedback OP and its target OP. To have it acknowledge anything happening upstream, that needs to somehow influence an op within the loop, or you need to restart the feedback.
If you just want a bit of noise applied after everything else, you could put it after the feedback loop ends.