Create a Realistic Water Simulation

Whether you like it shaken or stirred, Cycles and the Fluid Simulator tastes delicious.

Length:
37 minutes
Software:
Blender Cycles Build r41599
Difficulty:
Advanced
Rate:
VN:F [1.9.11_1134]
Rating: 4.8/5 (173 votes cast)

In this tutorial you will discover:

  • Realistic fluid settings
  • Water and glass materials for Cycles
  • How to model ice cubes and puddles

Up until now blender’s fluid simulator has kind of been a waste of time. Sure the fluid looked okay in the viewport, but when it came to rendering the internal renderer did a horrible job. The complex properties of water meant that it simply couldn’t create realistic results. However, thanks to the new physically accurate rending engine Cycles, we can have fluid that actually looks half decent.

Enter into a new era of realistic water and glass.

Finished Result

Realistic Water Simulation in Blender

Pour yourself a glass of Cycles

The image is based off this concept from iStockPhoto.

At a Glance

Screenshots from the video:

Further Inspiration

Not sure where to take this tutorial? Check out the links below for more fluid inspiration:

Create something cool with this tutorial? Post it below! I’m keen to see your results :)

Create a Realistic Water Simulation, 4.8 out of 5 based on 173 ratings

About Andrew Price

I like long walks on the beach and yelling out during movies. My cat's name is dog, and my dog's name is cat. I am hilarious. I like Blender.

274 Responses to “Create a Realistic Water Simulation”

  1. Mitch Schenk December 24, 2011 at 7:11 am #

    check out my result on my site mitchschenk.wordpress.com

  2. Olly December 24, 2011 at 8:15 am #

    Sorry for selflessly promoting my game here! But can somebody just check out the Beta version of a game I’m creating on Blender, http://www.mediafire.com/?yot3rb65l5ys463 its for OSX only. And don’t worry its virus free! :P

    • Olly December 24, 2011 at 8:16 am #

      Also there is not really a point to it so far, but can you guys just check for bad bugs :P AND READ THE READE! :P That has current bug lists in it

  3. rasha December 27, 2011 at 7:35 am #

    its cooooool,
    i am also blender user, you are real blender guru………….

  4. alex December 29, 2011 at 1:23 am #

    can you please put the light drop in.
    i dont have photoshop and i cant do that with gimp

    • Victor January 11, 2012 at 9:58 pm #

      Hey Alex. U can do something similar on gimp with the gradient tool. Open a new project use a template of 1024×768 (or whatever size u prefer). use the bucket tool and fill the layer with black then place black as ur background color and pick a light blue (or wutever color u prefer but make sure that it’s light to the point that if it was a bit lighter it would be white) as your foreground color. Now from the tool box pick the gradient tool and set the shape to “radial”. Go to the layer and left click and drag straight down. depending on how far down u drag will depend on how big the circle or (glow effect) will be. You can try as many times as u like by simply hitting control z to undo if u aren’t happy with the result. Keep trying until u get the desired result. Hope this was helpful.

  5. Patrick Latour December 29, 2011 at 3:58 am #

    Great tutorial. I did 2 versions, the is as the tutorial and I produced a still image. The second is an animation of 5 seconds, the question I would have is How do you stop an inflow in the middle. Like if you want to close a faucet in the middle of an animation ? Thanks

    • Jake Thomson December 30, 2011 at 1:55 pm #

      I’d believe that it would just be the cut off frame wouldn’t it? and the time specifies how long the water is simulated

      • Patrick Latour December 30, 2011 at 2:07 pm #

        The time just stretch the action on the total animation frame.
        Cutting frame or removing domain does not work, since I want to continue my animation once the glass is filled. I had an idea while sleeping the past night, will try it today and keep you posted.

    • Serena Fate January 12, 2012 at 12:01 pm #

      So far I found three methods, how to do this … with varying results.

      A: Add scale keyframes to the inflow object. And then scale to or close to 0 to stop the inflow. The problem is that this produces funny effects, like water splashing around when opening or closing. Looks kinda cool though.

      B: Move an outflow object in the path and maybe put a tube around the inflow object to avoid random drops flying around. A plane is not enough for the outflow though, should be a cube or something. After baking the simulation the object(s) can be deleted or moved to another layer, so they don’t show up in the animation.

      C: The correct way: Just stop it! If you select “inflow” there’s a box next to it. If you rightclick it you can add a keyframe. To make the water stop add a keyframe right before the desired frame, Then untick the box and add another keyframe.

      Right now I’m rendering a short animation to compare the results of the three methods. Should be finished in 10 hours or so (yes, my computer is that slow). From what I’ve seen so far. Method B and C should be good for faucets and stuff. Method B has the advantage that the amount of fluid can be slowly increased. Method C is just on and off.

  6. Jake Thomson December 30, 2011 at 1:57 pm #

    hello Andrew,
    I was just curious as to whether you knew how to make the final render less pixleated or not.

    great tutorial by the way :)

  7. landon912 January 2, 2012 at 6:58 pm #

    this has nothing to do with the tutorial but i just came up with what i think is a good idea, you could make a new section of Examples and have all the pics that people sent in for the focused critique and post them also you could have thing you made like the Ballad of the M4 Carbine, which by the way is very impressive.

  8. Mitch Schenk January 4, 2012 at 4:12 am #

    haha my GPU doesn’t even work with cycles and my CPU is quite Slow but its ok

  9. Jostein January 4, 2012 at 9:37 am #

    Hello. Does someone know why I get this sort of “sparkling” or “noisy” look at the floor or table. It looks actually like it isn’t totally finishing render or something… It looks really bad, and I am truly sure that i’ve done the same things along the tutorial.

    Some sugestions? btw: you can see what i really mean at my webpage in the link which is attached… in advance, thank you! :)

    • Jostein January 4, 2012 at 9:40 am #

      oh…which is attached here yes: josdyr3ddesign.net78.net

    • Patrick Latour January 9, 2012 at 2:10 am #

      Look if you did not leave the default lamp that comes with the startup setup. I did it and got that sparkling look. After I removed it and kept just the backdrop lighting, it was perfect.

      • Jostein January 25, 2012 at 1:50 pm #

        I had removed the default lamp, but i’ve found the problem. I’ve just forgotten to change the integrator value. Haha. I didn’t know! Suddenly cycles changed to the perfect render-engine :D haha ! Thank you anyway ;)

  10. Michael Bernete January 8, 2012 at 12:06 pm #

    I have a nVidia GTX 560 and my GPU is very faster than my CPU

    • Patrick Latour January 9, 2012 at 2:08 am #

      I also have a GTX 560 and GPU cutted my rendering time by 7 times compare to my CPU.

      • mk1 February 15, 2012 at 4:32 pm #

        I canĀ“t select the device…why? (Blender 2.61)

  11. John January 15, 2012 at 3:59 am #

    I am either stupid tonight or missing something. I’m using Blender r43368 with Cycles. I followed every step but when I change my cube to a domain for the fluid it just crunches down to a weird geometrically odd shape. So I created a new file and tried again. NO luck. My fluid domain cube will not remain a cube when I switch it to a domain. So baking or otherwise trying to render the fluid will not work. Any clues? Suggestions?

    • Caleb January 22, 2012 at 7:49 pm #

      Hello John.
      I did the same thing and it has the same problem. What did you try after it didn’t work the second time?

    • Sam February 19, 2012 at 7:03 am #

      When your cube crunches down change directory in the settings of fluid from “cache_fluid” to smt other (for example “cache_fluid2″).

  12. Michael Bernete January 15, 2012 at 2:30 pm #

    i can’t waiting for your new tutorial!

  13. Jon Derrick January 16, 2012 at 6:22 am #

    Hi, anytime I try to place a gradient as the image my screen turns black and it doesn’t project any light. Please help.

    • Vincent Peluso February 9, 2012 at 6:03 am #

      Hey Jon,

      I think I might be able to help you on that one. Here are the steps to getting the plane to work like a light.

      1. Select plane
      2. set Surface to Emission
      3. set Color to Image Texture and browse for the backdrop you want to use
      4. set the Vector coordinates to Generated.

      That’s it! If those steps don’t solve your problem, send me an and email and I can help you ;)

  14. Sept January 26, 2012 at 9:39 pm #

    Hi Guys,

    I am having the weirdest issue with this exercise. When I rendering with the “live” cycles engine, it looks beautiful (as it should), but when I actually send it to render, I get the strangest artifacts on the rim of the glass and the ice remains totally black. I tried to increase the intensity of the light, but that doesn’t appear to make any difference. I tried it with different builds of blender (currently I am using Blender 2.6.03 Revision 41746). Please help, anyone. This is my first cycles project, and it really doesn’t look that good! Note: both blender files and render result available on request.

  15. Jishaxe January 28, 2012 at 9:53 pm #

    Hey Andrew,
    Well done on your tutorial! It is very well put together, teaches what it says on the tin and produces some nice effects. This and your Introduction to Cycles video has really helped me to get into rendering with Cycles, which I love apart from the fact it loads the whole scene into video memory when rendering with GPU… restricting me from rendering quality scenes like this one with the GPU so I had to pain-stakenly watch as my old CPU trudged through with every pixel.. complain, complain.
    If you are interested, here was my result: http://imageshack.us/photo/my-images/31/renderl.png/

    I had to cut a few corners like adding the water puddles under the ice cubes because of the general instability of Blender and lack of time then and also baking for long.

    Also, I am pretty sure I followed your steps but for some reason the spiky emitter things get rendered in the ice cubes, when I select Emitter in the PSystem render settings or deselect it? I ended up manually sticking the bubbles in the ice cubes which still came out looking okay. (2.61)

    Anyway thanks again for the great tutorial! Keep up the good work!

  16. Paolo January 30, 2012 at 10:41 am #

    Hello there, I am newbie here xD. This was my result http://www.youtube.com/watch?v=PLKx_lbMdvI. I have a little question, how can I remove “zig zag” effect of water in animation on glass surface (from 5 to 7 second)? Is there a way to use sculpt mode or similar mode in animation?

    Great tutorial, thanks a lot for your work :) have a nice day :)
    Paolo

  17. Oleksandr January 30, 2012 at 11:11 pm #

    Would like to say big thanks to you Andrew!
    Check out what I made for own ray tracer for studying.
    And of course I made reference to this tutorial.
    https://graphics.cg.uni-saarland.de/fileadmin/cguds/courses/ws1112/cg1/rc/Web_Sotnychenko/index.html

  18. Bryson February 8, 2012 at 11:54 pm #

    I am grateful for such a wonderful tutorial to ease me into using Cycles.

    I would like to see a follow up tutorial that deals with how to get the inside of the glass to render. It is obviously missing around the rim and kills the photorealism.

  19. Jordan February 9, 2012 at 3:45 am #

    Hi Andrew, what is the name of the program that you use to record these tutorials? I have a program I love called bb recorder studio or something similar, but it doesn’t have a nice visual feedback for button presses.

  20. Margaret Toigo February 9, 2012 at 11:01 pm #

    Thank you for the tutorial, it was a bit challenging, but lots of fun. Here’s how mine came out:
    http://twitpic.com/8hs3yh

  21. Luacs February 11, 2012 at 6:34 pm #

    Thanks for another fantastic tutorial Andrew! Here is my version: http://i.imgur.com/jtcvw.jpg

    • Lucas February 11, 2012 at 6:41 pm #

      Sigh, spelled my name wrong >.> Lucas*

  22. mk1 February 14, 2012 at 9:36 pm #

    well, the blender cycles endgine is a nice feature but it is very far from being good enough to be the one to always work with because of 2 main reasons:
    1. very long render times to get the noise out of the pictures.
    2. no SIMPLE possibility to create a motion or vector blur (when using fluid simulator).
    So you can conclude that it is superior in single pictures but it is not as great with animations…
    However, thanks for the tutorial!

  23. fetz February 18, 2012 at 10:38 pm #

    OK, how do you get what keys u pressin on the screen,? is it a program?

  24. LUCAS February 19, 2012 at 1:32 am #

    Im using 2.61 r43221 and when I run a watersim, the fluid is shown as wire, and won’t render. I can’t figure out how to fix this someone help

  25. Mark February 21, 2012 at 9:58 pm #

    Thanks for this – excellent tutorial. Proves the power of Cycles.

  26. Lucesque February 22, 2012 at 8:06 am #

    About 5:30 in, when you’re making the ribs, rather than scaling them each once at a time, I used CTRL+S for Shrink/Fatten. Stumbled on the hotkey whilst fumbling around for a quick save. Wish I knew of it earlier!

    • Lucesque February 22, 2012 at 8:06 am #

      Correction, ALT+S*

Leave a Reply