I’m trying to figure out how to draw multiple curves on an object and then extend a line from the endpoint of each curve in the -Z direction (ie downward). Just knowing the node structure to do this would be helpful.
Ideally, however, I’d like the extended curve(s) to always face downward *(ie have “fake gravity”) no matter how the parent curves are oriented/animated.
The extended curves do not have to be connected to the original curves (and I’m not sure how that would be possible anyway). I just need them to be extended from the endpoints of the curves.
I’ve searched and searched for some kind of geometry node setup/tutorial that does something like this (extend a curve and/or fake gravity) but can’t find anything even remotely close (if you know of any, please point me in their direction, thank you!). :-/ So hopefully this will help others also.
If you do want them to be connected, the only way I know is to convert all the curves (original ones and newly generated) into a mesh, use Merge by Distance to join the end points, and then convert it back into a curve. There’s a lot of stuff that can go wrong with this method: curves might have the wrong direction, they’ll lose all attributes (tilt, radius), the merge might merge the wrong points. There just isn’t an elegant way of extruding curves right now…
That one should be pretty simple (hopefully). You can take modified Object’s rotation with Object Info node (with Self Object as input).
And Invert it (Add > Utilities > Rotation > Invert Rotation).
Apparently, unlike Mesh, Points keep the information about Radius and Tilt (!)
Don’t know yet if that means that we can merge two different curves together (I guess?), but we certainly can crudely extend them.
Here is a bit of a crazy solution that allows you to “extrude” the end-point while retaining the original curve - so you get to keep the curve-type and handles.:
Basically subdividing the final segment, then copying over the position and handle position of the original end-point to the new point, then offsetting a vector handle version of the end-point…
Thanks @Tolkfan@stray@zeroskilz ! Fantastic stuff! I’m currently playing with the various suggestions/options. I haven’t had a chance to try them all, but they all look like viable options. I’ll report back with my findings. Thanks again.
@stray I had no idea that invert rotation node existed! What a discovery!
thanks Skillz, I found this thread after I created my own and a lot more complicated solution to this. Did not know it is possible to cut the end segments only! After replicating this setup realized there is one cosmetic thing - you need to copy the first end segment point right handle position too (it is shorter after the subdivision).