4
$\begingroup$

I want to create a pattern consisting of different cylinders.

I definitely could create them row by row, but I am also planing to animate them - getting bigger and smaller and so on. In the next step they should also react (collision).

Is it possible with Geonodes?

I tried but I had to make them real. (using 2.93 or will it be added in future maybe?)

I watched like "every" tutorial to get a clue how I could achieve it. found some but not on 2.93 or 2.92 and their nodes look way different, and every time I try some things it freezes Blender.

My workstation should be good enough, I think I just use them wrong.

I just duplicated these to get more rows, I need way more.

$\endgroup$
4

1 Answer 1

5
$\begingroup$

Blender 2.92.0. Let's start with a subdivided plane.

Subdivided plane

In edit mode select all faces then in top left corner click Face->Poke Faces

Poked faces

Then Face->Tris to Quads

enter image description here

I added a subdivided cube, because in my opinion it looked nicer than cylinders, and an empty to control the scale for animation purposes.

Full setup

And I did this node setup.

Node setup

From left:

  1. Attribute Fill node sets scale on every instance (vertex) to 1.
  2. Attribute Vector Math multiplies position of each instance by vector (1,0,0) and saves result to a custom positionX attribute, so positionX contains only (X,0,0) of each instance.
  3. Attribute Vector Math calculates distance between positionX and (X,0,0) vector where X is X part of Empty location. Result of this operation is saved as custom attribute distanceX.
  4. Attribute Vector Math divides scale of each instance (it's always set to 1 by Attribute Fill node above, but you can instead of it use Attribute Randomize to make initial scale of every instance a little different) by distanceX. This works fine for most cases, but when empty is really close to an instance we end up with extremely large scales (for example 1/0.001 = 1000)
  5. Attribute Math is used to control how wide the "wave" of large instances there are. The larger the float value the smaller the "wave".
  6. Attribute Color Ramp is placed to cut the scale so it never exceeds 1. It allows you also to control how small the far away instances should be. (just change color from black to dark gray)

And this is the final result.

Final result

You can animate the scales of the instanced objects by moving the empty so the animation is really easy.

Moved empty

$\endgroup$
3
  • $\begingroup$ crazy! thank you so much for your time!!!!! $\endgroup$ Commented Apr 16, 2021 at 17:05
  • $\begingroup$ thanks again! works rly nice. maybe u can give me a hint to a add more empties to animate like 2-3 waves? $\endgroup$ Commented Apr 19, 2021 at 11:11
  • 1
    $\begingroup$ Add two more points to the Color Ramp. Make them Black, White, Black, White. This should make more waves connected to same empty. For more complicated cases make a separate question. $\endgroup$ Commented Apr 19, 2021 at 15:11

You must log in to answer this question.

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