How I can animate my object (separated mesh) with geonodes and noise texture?
2 Answers
All you have to do is combine the number that Mesh Island
gives you with the seconds of Scene Time
, and use that as the vector for Noise Texture
.
Since you have a mesh here that consists of several separate parts, the individual positions of the vertices are moved to a different position with Set Position
.
However, to make sure that this only happens to the upper faces (I assume you wanted it that way), I create a selection beforehand that only selects these.
In your concrete example, however, you don't scale anything, but you move it instead, because you can only scale objects independently of each other if they exist individually as instances.
In your case, however, they are not, but you have a mesh here that was created from an SVG graphic.
Applied to this example, the solution looks like this:
- Select the upper points and put them into a separate vertex group.
- In Geometry Nodes you can select this vertex group with the node
Named Attribute
and put it as selection into the nodeSet Position
.
In this way you move only certain points of your mesh, which is equivalent to scaling individual elements.
-
$\begingroup$ I don't like moving. I need a scale from 0 to 1. So the cubes at the end must have a fixed pre-set height $\endgroup$ Jul 31, 2022 at 11:17
-
$\begingroup$ @IgorYukhimenko If you move only the top faces, it will be the same result. So please share your blend-file. $\endgroup$– quellenform ♦Jul 31, 2022 at 11:22
-
-
$\begingroup$ @IgorYukhimenko And I have updated the answer (and the blend-file). $\endgroup$– quellenform ♦Jul 31, 2022 at 13:15
-
$\begingroup$ I just can't understand one thing. With this approach, how will I get the given height of each element? These stripes at the end of the animation must be of a strictly specified height. And they should increase in size randomly. So I don't understand how moving the top edge can solve this problem. $\endgroup$ Jul 31, 2022 at 17:49
A couple of considerations for this one? ...
- Noise is smooth. (As opposed to White Noise, or Random Value.) You might want to see the noise 'flow' through the bars. At the right noise-scale and speed, you can.
- A single row of bars needs only one dimension of noise. (If you wanted the animation to loop, though, you could use 2 dimensions, and go round a circle in it.)
For example, here are some parameters you could expose through the modifier, if your instances are down a line in X:
Transform
the way you want.Transform
always refers to the whole object and is not applicable to parts of a geometry. So no matter how you twist it: Either you have independent elements (e.g. instances) that you can scale independently withScale Instances
, or you useSet Position
on specific points/edges/faces. $\endgroup$