# Fluid Animation

Did you use some math formula equation?

Or did you just do that with your experience?
If “yes” could you tell me how I can learn to get into that result?

Great job. Moving water is tough!

Thanks! I know it definitely is.

1 Like

I had made something similar to this in the past and basically I just varied the perlin “density” (the inputs you give the math.noise function) to give it the “illusion” of it moving.

Wow! That looks very smooth. I am currently trying to port my one to a Plane Mesh.

I’ve heard that the trick is to create “bones” for each point we generate

Yes, but the problem is when I do a For Loop to create the bones, the Plane Mesh does not deform. I made a thread about it. But I have still not found a Solution.

I have made something similar to that in the program itself but not in roblox. Basically you need to create its end state in the program then play whats called literally a “Mesh Deform Modifier”. You then set the keyframe state to 1 then move the meshes verticies save the keyframe then u can animate its state in the program. Perhaps what you could do is animate it from 0 to 1 and expand it to the perlin range.

Would you mind explaining that a bit more simple. I have been using Blender for 1 day, so I am very new.

Do you understand the idea of interpolation?

To be honest to not really. Never read up on it.

In most simplest terms it is the concept of taking 2 values and mapping them to a range, so say we have 5 and 10 and our “alpha” is at 0.5 (the domain of alpha is 0 to 1). That would mean our alpha would return 7.5. Now we can expand this to 3d by simply interpolating each position component in our vertices.

How did you get that smooth transition between dark blue and light blue? I can’t seem to get the same effect.

I basically transposed the lerp function so I could map it to the perlin density range, so if I returned a perlin density of 0.25 that’d be 1 and -0.25 would be 0. I made a module that includes what I used btw however it’s really simple you could make your own by using like mathpapa or some crap then solve for the alpha

Make your workflow easier with Math++!

What does that mean in laymens terms?

Something like this?

``````local Height = MathNoise + MathNoise2 + MathNoise3 + MathNoise4 + MathNoise5
local Color = math.clamp(Height, 0, 1)
Part.Color = Color3.fromRGB(0, 204 * Color, 153 * Color)
``````

I have now implemented / tried my best to implement what you said.

Ported Water Simulation to a “ModuleScript”, and changed the name to “Fluid Animation”!

Why is there several perlin noises?

That is what creates the waves effects.