Bending Curves post Instancing

Bend
Here is a GIF of the effet I’m trying to do. I’m trying to acheive this after instancing them.
Bend 2
I was under the impression this setup would work, but I seem to be mistaken.

Anyone have an idea of how to realize this?

Hi!
Sooo, you need the second method to look like the first, right (not the other way around)?

As I understand it, in your setup the “start” vector is only written on the… uhhh, “start” points, as per Selection. On all the other points - all the ones that you’re actually trying to move - it’s probably assigned (0,0,0). So when you Set Position on those points it refers to that zero center point.

You need to somehow capture appropriate “start points” for each point of each spline.

In this example, Accumulate Field is used to find out how many points was there in all the splines before current one. Because this value is evaluated on splines, we need to use “Evaluate on Domain” to re-evaluate it on Points. And we get this:

These values happen to be start Indices of each spline.
Now if we use Sample Index with these, it will return “start” Position for each point.

I’m sorry if this is confusing… or if misunderstand your problem in the first place :smiling_face_with_tear:

3 Likes

No worries, complicated but makes sense! I’m away from my computer but I will test this in the morning. Seems to be exactly what I need!

Yep this works. I just didn’t realize every point of the splines needed to have the “starting point” stored, but this makes sense, since it’s the position attribute I am rotating off of.

Btw the spline parameter into curve of point curve index seems return nothing. So it is not needed it would seem.


Thanks for the help !!

One word - “fields” :sweat_smile: I still can’t quite think in these terms… case in point :point_down:

Yeah, maybe it’s just me, but I encountered odd behavior without explicit Spline Parameter Index when there was less points per spline than spline Instances :person_shrugging:. I’m not sure which Index gets read from that input by default in this case (and it was almost 4 in the morning, when I made it), but it acts… odd.
Here are 6 Instances with 3 points each - it groups them in threes and starts repeating:

I don’t see you having that issue though, so… :person_shrugging:

Yea I just got my head wrapped around sample index, evaluate at index and evaluate on domain recently. Accumulate Field I understand too, but it’s nice to see lots of different use cases to throw in the pile of experience, it’s very versatile. Overall It’s a really complex system but it’s pretty capable, just gotta study up when I have time. This has been very helpful, thank you!

1 Like

Sorry to bother on a dead thread, but I didn’t want to open a new one for such a similar concept. I was fiddling around today with the same concept (rotating things from their bottom-most point after instance realization) but instead of curves, with meshes.
Follow

As you can see this is typically something you would do on the instance side of things, but for practice and learning purposes I’m doing such things.


Here is the node graph of the functioning effect. My question is before doing it this way, I tried to do this effect from the bottom N-gon face of a cone. Unable to seem to get things to work, I defaulted to changing the fill type from N-Gon on the cone primative to triangles. This puts a point in the middle of the bottom face, and I used this as the “center” attribute I store. It works, but it really bugs me that I wasn’t able to figure out how to do it using faces?

I think I need to evaluate “center” on faces first, then somehow propagate that to a point attribute. Any ideas? This is just for learning purposes so no big deal.

Hi again!

When you were using Ngons it’s likely you forgot to set capture/evaluate on Faces maybe? At the very least, “Evaluate at Index” would require it explicitly.
Can’t think of anything else that might have gone wrong without seeing your attempt, so that’s my guess :person_shrugging:

Here’s what I’ve got:


Depending on your starting conditions, there’s another (probably more sane) way to do it - capture positions of points before instancing. They will be inherited by instances and realized geometry (that should work for the first problem as well):

image

4 Likes

Gosh, it doesn’t look any different from what I did. Maybe there was a stupid error in there after all. I should have sent my attempt. Like last time I’m away helping my grandmother with homecare after her surgery, so I can’t check until later, but nonetheless this shows me my reasoning was correct which helps the most.

Thank you!

1 Like