Chapters: 0:00 - Intro 0:17 - How Water Animation Used To Be Done 0:36 - The Start Of Simulated Water 1:06 - Softwares 1:28 - 1 Minute Water Simulation 2:01 - How Does CG Water Work? 3:03 - Why Does it Take So Long? 3:50 - 1 Hour Water Simulation 4:58 - Motion Array 6:18 - Why is Houdini The Best? 6:57 - My Water Work On Movies 7:19 - Why Does it Take Up So Much Space? 7:59 - Real-Time Water Simulation 8:24 - Avatar: The Way of Water 8:47 - 100 Hours Water Simulation 10:58 - The Results
AI Generated·May contain errors
Video Summary
AI Generated
This video explores the evolution and technical process of computer-generated (CG) water simulations. The creator demonstrates the impact of simulation time by creating three different projects—one minute, one hour, and 100 hours—while explaining the underlying physics, software tools, and the challenges of rendering high-resolution fluids.
Comments are disabled for this video.
This is a computer-generated water simulation that took around three hours to simulate,
and in this video I'm going to be doing a one minute, one hour, and lastly 100 hour water
simulation to see how big of a difference time makes. So join me as I dive deep into
computer-generated water. Back in the days, animated water had to be meticulously hand-drawn
into movies. These talented artists would watch a lot of reference and do their best to make
something that resembled reality. But since water is infinitely complex, they had to take some
artistic shortcuts, and sometimes they would even just draw one frame and then move a ripple glass
plane over the image to give the illusion of moving water. Genius. Then one day, in 1998,
a movie that was worth inventing a whole new way of creating water was released. The one and only
Ants. This was actually the first movie to ever use computer-simulated water,
and the results are, well, decent. But over the next few years, talented artists were able to
refine the tools used for both simulating and rendering the water, and only six years later,
we could realistically destroy a whole city with water. Skip to today, and we've come a long way.
Now basic water simulations require just a few clicks on your computer, thanks to great software.
There are plenty to pick from here, including Realflow, Myospifrost, Houdini, and of course
Blender, which has the awesome Flipped Fluids plugin for some great results. However, one stands
slightly taller than the rest in my opinion, and that is, of course, Houdini. I'll explain why
Houdini is the obvious choice when it comes to water simulation in a second, but first,
let's use it to create the one minute water simulation. Let's start the timer, and with just
a minute, I really only have time to create the most basic water simulation, which consists of
a water container, a water source, and gravity. I'll also add a blue color to the geometry,
and our time is up. I'll give the computer one minute to simulate the water as well,
which leaves us with this. I did a quick render, and it really doesn't look that bad. You can
clearly see that it's water, it's just a bit thick and blocky because of the low particle count.
But being able to create something like this in a minute would have been unimaginable 20 years ago.
So how exactly does computer-generated water work? Well, it consists of two things. Particles,
like this gravel, and smoke. And if you combine them, you can actually simulate water. Let me
explain how. The development of fluid animation techniques based on the Navier-Stokes equation
began in 1996, when Nick Foster... Are you reading Wikipedia? Okay, in simpler terms,
think of a water simulation as just a smoke simulation. Here's what a smoke simulation
with gravity turned on looks like. And if you turn this into a mesh and apply a water shader,
it kind of looks like water. This is because smoke simulations handle the pressure calculations that
give water its look really well. However, the problem with a smoke simulation is that it's
not really good at conserving mass. So if we take something that has no issues conserving mass,
a particle, and push a bunch of them through the smoke sim, we now have a consistent amount of
water from the particles and the look of water from the smoke. Just see how much better that
looks. I'm slightly simplifying here, but this is basically how all water simulations are done
nowadays. But why do water simulations take so long to simulate, especially for higher quality
results? Particles are actually really quick to simulate. Here's a million of them, and this sim
only took five seconds. Well, the culprit is the other half of our water simulation, the smoke
simulation. Smoke is simulated using voxels, which is like a 3D grid of blocks. And in order
to double the quality of the simulation, we need to add twice as many voxels in the x-axis, but
also the y- and the z-axis. Meaning, in order to get a simulation that is twice as good, we'd need
eight times as many voxels, making the simulation take eight times longer. And for four times the
quality, the simulation will roughly take 64 times as long. This is what makes high quality simulations
take ages. So with all of this in mind, how good can we get a simulation to look with only one hour?
Well, let's find out. I want to create something inspired by this scene in The Hunger Games, where
black sludge floods an area. I especially like the part when it hits an edge and creates a big splash,
so let's try to replicate that. Since it's going to be almost impossible to make a full 3D scene
look good in an hour, I'm going to film a real plate and add the black sludge to it.
After that awkwardness is done, I start by tracking the shot, and then create 3D geometry
matching the plate so the water can collide against it. Next up is the water sim, and I don't
have time for anything too fancy here, so I use a sphere as an emitter and shoot a bunch of water
towards the wall. I also add some viscosity to the simulation, which is like the thickness of the
fluid. This, plus a black shader, gives it a bit more of a gooey look. I also create a wet map to
mark where the ground should be black, and finally render it all out. I quickly composite the layers
together, and it's done. Here's how it turned out. Not bad for an hour, but I wish I had more time
so I could do a really high resolution simulation. Luckily, that won't be an issue for the 100 hour
shot. Here, deep in his cave, we see the VFX artist in his natural habitat. After days of observation,
we were able to get a glimpse of this creature venturing out into nature, which is a rare sight.
We don't yet understand why they do these weird motions in front of a camera, but with further
research we hope to one day learn how this strange creature works. Suddenly, he quickly packs up, and
we watch as the VFX artist returns to its sanctuary of screens and the subtle hum of the computer.
You probably think that I just flew my whole budget for that voiceover, but it was actually
super cheap thanks to MotionArray's new AI voiceover feature, which allows you to create
voiceovers in a breeze. They have countless of different voices to choose from for any type of
video. Like this fancy British one. And this one, for when you don't want to deal with child actor
laws. Or this one, with some southern charm. And they of course have more basic ones too. Simply
select your voice, type in your text, and hit generate. Not exactly rocket science. You can even
adjust the speed and the emotion of the voiceover. So if you need someone angry, or maybe a bit sad,
MotionArray's AI voiceover is the place to go. Just click the referral link in my description,
and select the plan that's right for you to get started. Thank you so much to MotionArray
for sponsoring this video. So why is Houdini the best at water simulations? Personally,
I'd say it comes down to two things. Flexibility and customization. Houdini uses a node-based
system, which means you're basically building your effect block by block, and you can at any
point switch the inputs of your node tree, giving you a whole new effect. Houdini also offers
complete customization. It doesn't just give you a button for water, but rather a tool set that
allows you to build your own water simulation exactly how you want it. And if a node doesn't
exist, you can just code it yourself using Houdini's own scripting language, VEX. All of
this is why Houdini is the industry standard when it comes to making water, and all other simulated
effects in movies and TV shows. I've actually worked on quite a few shots involving water
myself by working at a VFX studio. It was probably one of my favorite effects to create, since it was
always so exciting to see how the water would turn out after hours or days of simulation. The
only thing that kind of sucks is when you get a node to make the splash bigger, and you have
to wait two days in order to check if your adjustments worked. The simulation algorithm
really is the boss. You want to know a crazy fact? The simulation data alone on the movie
Kingdom of the Planet of the Apes was over 10 petabytes. That's 10,000 terabytes, and here's
It's just an insane number, and I would guess that a lot, if not most of that, is water simulation
data. And the reason it takes up so much space is the same reason it takes so long to simulate.
Voxels just take up a crazy amount of storage, and if one frame of the simulation has 1 billion
voxels, which is pretty common, you have to multiply that with the frame rate, typically 24,
and then by how many seconds the shot is. This is why water simulations take up so much space.
Considering this, it would be a fair assumption to think that simulating water in real time would
be impossible. Well, that's actually not the case. LiquidGen is a software that allows you
to simulate and render water in real time. It does this by using the GPU instead of the CPU
for the calculations, plus a bunch of other optimization tricks. However, it's not as
accurate as a CPU simulation, but still a really good option for smaller scale simulations.
And this wouldn't be a proper water simulation video if I didn't talk about the one movie that's
all about water simulations. Avatar The Way of Water. This movie really pushed the boundaries
of what's possible with current tech water simulation, and they nailed it. It is such
a gorgeous movie with mind-blowing water shots. Because of this, I want to create my 100 hour
water simulation shot inspired by this movie. Whales jumping out of water and landing with
a magnificent splash is something I've always wanted to simulate, and in Avatar they have
There are beautiful references from the movie showing these creatures jumping out of the water,
and when I was looking for inspiration online, I found this stunning artwork by Dylan Cole that I
knew I had to recreate. It can be a bit daunting starting on a shot like this from complete
scratch, but I'm just gonna take it one step at a time and see if we can make something
resembling this. I start by buying a whale model online and animate it using both real whales and
movie as reference, and I make sure that the whale hits the pose that the reference artwork has.
For its tentacles, I simulated them for the most natural looking result, and here's how the
animation turned out. Next, I add a water surface and do a low resolution simulation to see how it
looks. I then do a bunch of simulations, tweaking things every iteration, and this process takes
forever since each sim takes around an hour before I can see if my adjustments work. Eventually
though, I am happy with the results and send off a really high quality simulation for my computer to
enjoy overnight. Each time when I come here, I am abused. The next step is white water. This is all
the white foam, bubbles, and spray, which we simulate and render separately from the water
for more control. For this, I need a lot of particles, so I split it into a few different
sims to make it work. I then create an ocean surface and apply the same surface displacement
to the main water simulation's edges as well, so it blends in perfectly with the rest of the ocean.
And lastly, I render it, which took 40 hours. After all this work, we're left with this,
but we're not done. I would say the environment around the water simulation is almost as important
as the water itself, so using our reference as a guide, let's continue building out our scene.
I render out some mountains for the background, add a sky, floating mountains, birds, and most
importantly, some fog and clouds. And with that, plus a bunch of smaller tweaks, it's done! We've
now completed all of our time challenge renders, and hopefully learned a thing or two along the
way. So without further ado, let's have a look at them all!