Improve the float curve node
Float curve is useful for displacing surfaces where color ramp is less intuitive and usually produces flat surfaces. However, The current float curve modifier has a lot of flaws.
First, the nodes uses what I assume is a bezier curve, but it doesn't have handles. Which means the user don't have detailed control over the curve. Representing anything that's not a single arc is a chore. Simulating the shape of something like a water droplet is incredibly tedious, because moving a point will change the geometry on both sides of the curve. I think adding handles would be more appropriate.
The node should also be able to be vertically scaled, scaling up allows detailed control over the curve, scaling down allows better node tree organization.
4 Comments
I half agree, I think bezier curves could be an option, but I think the default method is more efficient for people doing curve adjustments to texture input. Perhaps an option to show handles on all curve UI inputs would keep it minimal if not needed and more robust for shape creation when needed?
I agree the node should be scalable for finer control.
The default Curve Widget is quite... basic, let's say.
I would love if the Curve Widget from the Bevel Modifier would be included in the Shader Node and Geometry Nodes.
In Bevel Modifier you have an option to reveal handles. It allows for creating really advanced and smooth profiles. It would be great if the Curve Widget across Blender would be unified with Bevel Modifier version as a model.
I don't know if it would be hard to implement, but the design could be the same! With a difference that the handles should be locked not to create concave shapes, so that there is always just one Y point corresponding to every X point on the graph.
You can see how it works in the manual: docs.blender.org/manual/en/latest/interface/controls/templates/curve.html
Agree, I run into this all of the time, adding handles would greatly improve the usefulness of the node, as currently it's almost impossible to do some precise refinements in scenarios where tiny differences in slope are very noticeable.
There are other curve inputs in Blender with a similar interface, but in shading and geonodes that high precision (including control of the slopes) becomes critical.
None of what you've suggested is specific to the float curve node, shouldn't the other curve nodes, or even just curve inputs like this in other parts of blender (e.g. curve profile, bevel profile) get those improvements too?
Also, you should split up those suggestions.