6
$\begingroup$

I have a mesh circle in the yz plane. The circle is the basis for a river on a ring spacestation. So i would like for the curve to meander a bit along the global x axis and a bit along whatever the tangent of the circle is at each point, but not along the normals of the circle. Using the set position node to randomize the curve vertices in the global x axis is easy, but how can i add random offsets in the tangential direction at each vertex?

The attached image shows a tiny segment of the circle on the left and i drew the shape i want to achieve on the right.

I drew the shape of the curve i would like to achieve on the the right

$\endgroup$
0

3 Answers 3

5
$\begingroup$

Did you know… 💡

A natural river goes in a straight line only for up to 3 times its width.

I tried to capture this logic, but failed to do so, apparently my river is too lazy at bending - of course it could easily be remedied by decreasing the $3.0$ multiplier at the very beginning, but then it's just an arbitrary number, ugh.

At least it seems to scale well with the Width:

$\endgroup$
3
  • $\begingroup$ This solution is really nice. Wouldnt just increasing the handle length make it more bendy? Is there no option to scale the handle lenght? I tried the set handle positions node with the curve tangent node as input for the offset but that doesnt...work $\endgroup$
    – sinwar
    Sep 23, 2023 at 2:35
  • $\begingroup$ @sinwar the straight segments actually come from the bends being too big - ever 2nd point is displaced by too much and that creates too long segments. so decreasing the magnitude of random displacements will fix that. $\endgroup$ Sep 23, 2023 at 7:52
  • $\begingroup$ No its not that. I found the real problem that prevents bendyness: Offsetting every 2. point. If you Off set EVERY point the river gets VERY bendy. just remove the selection from the set position node and then alternate between every 2. point instead of every 4th. $\endgroup$
    – sinwar
    Sep 25, 2023 at 14:52
2
$\begingroup$

you get this:

enter image description here

with this node tree:

first part just creates some open circle instances:

enter image description here

then i just double them to the other site and random the scale:

enter image description here

with the stored "top point" i randomize positions dependent on the distance to the top point so that the points move like proportional editing

enter image description here

after that just some "roundings" via blur node and some radius randomness and curve to mesh.

$\endgroup$
1
$\begingroup$

MY final solution (modifiying Markus von Broady's suggestion to make the river more bendy):

enter image description here

enter image description here

It got sooo bendy that i had to set the modulo node to 3 so the curves wouldnt constantly cut through each other^^

$\endgroup$
1
  • $\begingroup$ Very nice, I thought your 'fix' would make the bends ugly (kind of "V" shaped) but no, great result. $\endgroup$ Sep 27, 2023 at 22:31

You must log in to answer this question.

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