6
$\begingroup$

I’d like to set a curve's spline resolution nonlinearly, ideally with a Float Curve so I can have fine control over the delineations of this Curve to Mesh.

This is because I want the profile curves along the spline to get closer and closer together at one end.

Bezier with curve circle as its profile curve

How might I achieve this? Thank you!

$\endgroup$
1
  • $\begingroup$ @Gordon Brinkmann has pointed out a subtle mistake in my answer.. so I've edited it and replaced the .blend. Not too bad, but definitely worth fixing . $\endgroup$
    – Robin Betts
    Oct 19, 2022 at 16:56

1 Answer 1

11
$\begingroup$

If your first step is to map the indices of your curve's points to [0,1], then you can use any ease-out function you like. (It may not be a strict exponential, which could leave you under-sampled at the 0 end.). A variety of ease functions can be found, for example, here.

Then you can sample the curve at Factor (0-1 mapped index).

Here's a 'Power' version..

enter image description here

Showing change of exponent...

enter image description here

Or you could roll-your-own with a Float curve

enter image description here

A few easing functions are included here:

$\endgroup$
5
  • $\begingroup$ This is amazing, thank you so much! If you have time to comment, I’m curious how you created the "Curve Resolution" and "Exponent" parameters on the Group Input, or could tell me what those are called so I can look them up. $\endgroup$
    – Aubrie
    Oct 16, 2022 at 4:15
  • $\begingroup$ Those are just an interface to the tree. It either shows up in the modifier, if it is of the root GN group, or at the left side of its group node, if the tree is called up as a subgroup to another one. To create it, you simply drag a noodle to the parameters you want to expose, from the vacant slot on a Group Input node. You can add/remove/rename group Input/Output in 'Group' tab of the 'N' sidebar: see here $\endgroup$
    – Robin Betts
    Oct 16, 2022 at 8:32
  • $\begingroup$ Noted, thank you! $\endgroup$
    – Aubrie
    Oct 16, 2022 at 17:24
  • 2
    $\begingroup$ Gordon Brinkmann correctly points out in a duplicate linking here, that you get better sampling if you sample the original curve: i.imgur.com/ueDZM2p.gif $\endgroup$ Oct 19, 2022 at 16:07
  • 1
    $\begingroup$ @MarkusvonBroady Quite right! Thanks so much! All fixed, I hope, and .blend replaced. :) $\endgroup$
    – Robin Betts
    Oct 19, 2022 at 16:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .