How can I get this array of horizontal weave layers to conform to the shape of the vertical weave sections? I need the horizontal layers to decrease in diameter as they array downward, essentially following the path of the verticals.
1 Answer
In cases like this, it's probably easier to do everything in nodes instead of trying to make something follow...
Starting geometry
For this node group, we start with just a curve (that will define the "sections" or "pillars")
This curve is on X-Z plane, being Z the center of the rotation.
Nodes
The nodes follow 3 main groups with clear functions:
- Section Creation - Replicates the section curve forming all the pillars
- Weave Creation - Creates one circle for each horizontal weave, at the correct height and with correct diameter
- Weaving - Adds the oscilation to the circles
Section Creation
Instances the original curve and rotates it around
Weave Creation
- Resamples the original curve, each point will be a weave
- Captures the radius (X) and the factor along the section for each weave
- Keeps only the Z of the original curve (for centering the circles)
- Instances one circle per resampled point
- Sets positions to make the radius of each circle equal to the captured radius
Weaving
Here the math happens. (It needs an even number of sections to work seamlessly)
- Enforces the normal of the section to be Y, so we can get a vector that is perpendicular both to Y and to the tangent of the section (weaves will be displaced along this vector)
- Sets the position of each point in the weave circles such as:
- Factor on the circle is converted to number of oscilations (multiplication by Pi and section count)
- Circles with odd indices get an additional half wave phasing (addition of pi considering the floored modulo)
- Direction of oscilation is sampled from the section curve using the factor that was captured back when creating the weave circles
File
-
$\begingroup$ Well sheeeesh. That does seem to be what i want to do. I'm new to messing with nodes. But you've laid it all out. I'll give it a try. $\endgroup$Matt Wilder– Matt Wilder2025-06-12 18:06:47 +00:00Commented Jun 12 at 18:06









