How do you follow these 3dsmax steps in Geometry Nodes?

https://i.imgur.com/DFfZzrR.mp4

Lots of ways you can do this…

Here is one way…

You can start with 2 2D curves (as one curve element):
image

Add this network:

Basically it splits out the 2 curves, duplicates one 20 times and then using the Duplicate Index mixes the two curves, then moves each curve by some Z value and then adds a “shell” with Curve to Mesh.

This gives you a z-orientated element that you can transform into your world however you want.
image

(BTW that 3DSMax workflow I’m not familiar with, but it looks painful!)

Good luck!

5 Likes

Yeah at least with geometry nodes it’s all in one place with lines connecting the dots.

Any chance you could write out in pseudo-code what the first half of the nodes are doing?

I’ll try…

You start with 2 curves. the 1st one is straight, the 2nd one is “curved”. Index/Order depends on order I added them in the curve editor.

The network:

  • Resample curves to have same samples
  • Separate curves (since there are only 2 curves I can treat the index as a Boolean - i.e. Curve with index 0 = false so goes to Inverted output path (the straight curve) and the 2nd one with Index 1 = true so becomes the output of the Selection output path (the “curved” curve) )

The “Straight” Path:

  • Duplicate this curve 20 times.

The “Curved” Path:

  • Sample the position by modulating the target Index (i.e. the Index on the “Straight” curves) by the number of points in each curve…
    • Remember that the target curve’s Index on the “Straight” Path will just go up by 1 for each point, so to relate it back to the “Curved” curve’s Index, we need to wrap around the target Index to be within this curves index range… hence the modulo.

Does that explain the 1st half for you?

I will play around with recreating the node network and let you know in a few days. I am a slow brain.

we need to wrap around the target Index to be within this curves index range… hence the modulo.

I’m guessing this is some kind of math jargon I never learned.

Without getting too technical, simply put, the modulo operator mod(a,b) just “wraps” the value a to be between 0 and b:

If you want to get technical:

2 Likes