I created a scene with instances randomly following a noise texture, and now I want their rotation to align along its motion paths. I am not succeeding though and would appreciate any help.
1 Answer
First calculate the motion direction, by sampling the previous position. Because the position here is based on frame number, you have an indirect access to the previous postion by simply subtracting 1 from frame and sampling the noise texture there:
The effect is underwhelming, because the noise texture affects displace directly, rather than giving an acceleration that affects velocity that affects position… There's also no angular velocity, the cones don't turn suddenly only because of the consistency of the perlin noise, but the still rotate too much compared to forwards motion, and real objects don't tend to behave this way… For more realism you need a simulation, which I think is finally coming to B3.6, and is available in the alpha version, but for now:
How to create a simulation in Geometry Nodes?
P.S. If you want to control the speed of animation independently from noise scale, do it like so:
-
$\begingroup$ thanks that is very helpful answer , I felt that there is somthing wrong , because in one try I doublecate the noise node and shift the time that was entering in , then subtracted the 2 vectors then entered the resulting vector in align rotation node , but the rotation was very shacky $\endgroup$ Commented May 28, 2023 at 0:22
-
$\begingroup$ thanks that is good enough to me drive.google.com/file/d/1F3Udg6PI-y3X2c7kMq0JwWoIVtJG2ygN/… $\endgroup$ Commented May 28, 2023 at 1:54