Bezier Falloff in Geometry nodes

This is a bit hard to explain but I’m trying to apply a specific type of falloff to a linear range of values.
So I made this example below to describe the problem:

In geo nodes, I added a curve line with 20 points on the xy plane. I’ll like to displace it 1 unit along the z-axis, however, I do not want this displacement to be uniform on all points of the curve. So I have a mix vector node where the first input is my original position and the second is the displaced position. Then I use the spline parameter as the mix factor so at the start, the point is not displaced and at the end, there’s full displacement and then everything in-between blends appropriately in a linear fashion (since the spline parameter is a linear interpolation along the curve).

Everything so far is straightforward. Now if I wanted to apply a falloff to the setup I can just connect the spline parameter to a power node and I should have a nice curve. See image below

However, I’ll like to replace the power node with a node group that can create a unique bezier falloff similar to the video below:

I guess I’m trying to create a sort of bezier curve falloff where I can control the handle at the start and end to create any unique curve shape just like in the video above. I don’t really care about the handles moving up or down. I just want a slider to move the handles towards the right at the minimum point and towards the left at the maximum point.

Hopefully, this makes sense.
Cheers.

2 Likes

Hey !

For the first case you can look into the power function of the math node, it allows to bend the values in a similar fashion.
To recreate the S curves however … I bet the maths operation shouldn’t be too difficult to find…

I find that quickly : http://bitly.ws/zKyU

But now some time and coffee is needed to dissect the math, however sound like a very useful tool.

IIRC @higgsas has some interesting falloff in his node toolset, but I’m not sure this one is included …

Good luck !

2 Likes

Just use Bezier?

Good luck.

2 Likes

That was fast! :smiley: Thanks.

Yeah, I already figured out the power function part. I’ve been messing around with it in combination with other maths nodes but so far nothing comes close to the s-curve shape I’m trying to go for.

I’ll check out @higgsas toolset and see if I can find something similar or maybe get an idea of how to go about it.

1 Like

Thanks for this. However, this isn’t really what I’m trying to do. Sorry, I don’t think I explained it clearly enough. The nodes groups and description above is just an example created to explain what I’m trying to achieve.

I’m trying to create a node group that can take as input a linear set of values and output an S-curve-like range of values. It does not have to be specifically for a curve object. it could be applied to any field attribute and convert it to the bezier range described.

hopefully, this makes more sense.

1 Like

You can check my easing node group


easingf.blend (171.4 KB)

Also here is good recourse of how to implement easing functions

3 Likes

Well, I’ll be damned! haha, this is insane! I just checked it and it seems to have more than I need actually! :smiley:
Thanks

1 Like