How to make Puddles
Posted on 03. Jun, 2010 by Andrew Price in Texturing, Tutorials, Weather
As I announced in my last video, the theme for this month is Weather!
So to kick it off, I’m starting with a very important topic: Puddles. Because no rain scene is complete without them!Puddles are notoriously known amongst the 3d community for being difficult to achieve, and for very good reason! They are flush with the ground, partly reflective and subject to water physics.
I used to just avoid them at all cost. But thankfully I’ve discovered an easy method that achieves stunning results by harnessing the power of textures ;)
Many of you have requested more text based tutorials, so today’s tutorial is sans-video ;)
Setting up the scene
With a new scene, delete the default cube.

Add a plane (Shift+A).
In the top view, scale the plane to the shape of a rectangle. You can do this by pressing S and then X or Y.

We will now UV texture the plane. First split the view port vertically and change the new view port to a UV Image editor. In the image view port, open a floor texture of your choice. For this tutorial I will be using a cobble texture off CGTextures.com. You can download the texture here.

To UV unwrap the plane, enter edit mode (TAB) and press U and select Unwrap from the pop up menu. You will need to rotate the UV coordinates, so that the scaling matches the object.

Position the camera to the desired position for your scene. In my case it was on the left hand side.

If you switch to texture view mode, you can see the texture in real time. This can help you position the camera.

Creating an environment
Before we start texturing the plane, we need to set up an environment so that the plane has something to reflect.
Go the World panel and check Paper Sky. This will ensure the texture we are about to apply, is not stretched or warped in anyway.

Switch to the Texture panel and ensure that World is visible along the top bar. This means that we are applying textures to the world settings, not an object. Then add a new texture.

Set the texture type to Image or Movie and Open a background image.

You can choose any image for the background, but I will be using this image that I found on Flickr:
Depending on the size of your scene, you may need to tile the texture to create better reflections. You can do this in the Tile options. To make the background appear in your render, check Horizon.

To create reflecting light, move the default lamp to the end of the plane and duplicate it as many times as necessary. This will vary depending on the scene, but I’ve found that around 10 lamps at varied heights and varied energy values to be effective.

The lamp settings can be left as default, but you may like to change each lamps color depending on your scene.

Adding the ground texture
We’ve UV mapped the texture to the plane, but before it will show up in the render, we also need to add it too the texture settings.
With the plane still selected, add a new material.

Leave all the options as default for now.

Switch to the texture panel and add a new texture.

From the texture type drop down menu, select Image or Movie.

Next, click Open and select the same floor texture that we used previously.

To ensure the texture uses the UV coordinates, select UV from the mapping options drop down menu.

If you rendered now you would get a result similar to this.

Adding reflections
Now comes the tricky part. In order to tell Blender which parts of the ground are going to be puddles, we need to paint over the floor texture with a thick black brush. You can do this easily in a paint editor, such as Gimp or Photoshop. Make sure you paint on a separate layer as you will need to use it again later in the tutorial.
Alternatively you can download my ready created texture here:
Before we add the texture, you will need to activate Mirror in the materials panel. Leave all the settings as default as we want the texture to control what parts of the plane will be reflective.

Add a new texture and place it underneath the previous texture we created earlier.

You may like to name the texture Mirror and the previous texture Col so you don’t get them confused. Set Image or Movie as the texture type. Click Open from the texture panel and select the altered texture we just created.

In the texture mapping options, choose UV.

In the Influence panel, select Ray Mirror. This will take the light areas of the image and make them reflective. Check RGB to Intensity to convert the image to B&W format. Check Negative to invert the texture. This will make the dark areas of the image reflective instead of the white areas. We want this so the cracks and puddles in the image are reflective.

If you rendered now you would get a result similar to this, which is very reflective! This is necessary however, as we will be adding a bump map which will distort the reflections and make them less obvious.

Creating the bump map
Prepare for awesomeness! Bump maps push the scene closer to realism by adding raised imperfections to a surface, and are great fun to use.
Add a new texture underneath the previous, and name it Normals. Select Image or Movie as the texture type and click Open image. Select the custom made puddle texture.

In the mapping options, select UV.

In the Influence options, select Normal. If you choose a positive value the dark values will become raised. However the tiles in my texture are light, so I will be using a negative value to reverse it. Set the value to -0.15

If you rendered now you would see a result similar to this. Whilst it is okay, I would prefer the cracks to be more reflective and less distorted.

To do this we need to alter the contrast of image. In the texture settings, set the contrast to 3. This will make the cracks extremely dark, and as a result unaffected by the bump mapping.

Perfect! The cracks now look more flooded as if they have collected water.

Adding specularity
Specularity is used in 3d to fake reflections, so as a rule of thumb you normally shouldn’t use both reflections and specularity on the same object. However… in this particular case, I want the lights to create a light sheen effect over the tiles and puddle.
Because the tiles are white, you will need to create a separate texture with white puddles. This is so the specularity effects the puddles as well. This texture will be identical to the previous, only the puddles will be white. This can easily be achieved in Gimp or Photoshop, by selecting the puddles layer that you previously painted and inverting it.
Alternatively, you can download my ready made texture here:
Before you add the texture to the plane, go to the material settings and turn off specularity! The reason for this is that we want the image texture to control the strength of the specularity. The value in the material settings will apply normal specularity to the entire object, which we don’t want. So make sure this is set to 0.

Go to the texture panel and add a new texture underneath the previous textures.

Change the name of the texture to Specularity, and set the type to Image or Movie. Click Open and select the new puddle texture.

In the mapping options, select UV.

Check the Specular Intensity. The value will define how much or how little specularity you want in the image. In this example, 0.6 works okay but you may need to experiment with a value that is appropriate for your scene.

If you rendered now you would see a result similar to this. Notice the subtle sheen off the tiles and the puddles? Perfect :)

Adding ripples
The only thing missing are some subtle ripples in the puddle. This can easily be achieved with a basic procedural texture.
For the last time, add a new texture.

Name the texture, Ripples and leave the texture type as Clouds.

By default the cloud texture is too large, so set the texture to 0.02 and increase the depth to 6 to create finer more detailed ripples.

In the Influence panel, check Normal and set the amount to 0.001. This will create very subtle imperfections across the plane.

Finished!

Well… almost. If you want to push the scene further, why not give it a little Wow Factor ;)
I’ve added color correction, soft glow, vignette and depth of field.
Now it’s finished!
As always I’m excited to see what you guys create, so feel free to post them below! If you know of any alternative methods to create puddles, feel free to share that as well :)
126 Responses to “How to make Puddles”
Trackbacks/Pingbacks
-
-
07. Jun, 2010
[...] http://www.blenderguru.com/how-to-make-puddles/ Comments RSS feed [...]
-
-
11. Jun, 2010
[...] week we covered how to create puddles, but this week things are getting a little bit chillier… [...]
-
-
02. Jul, 2010
[...] Como fazer poças d’agua [...]
-
-
03. Jul, 2010
[...] jose: thank you my friend http://i50.tinypic.com/29lib7... [...]
-
-
03. Jul, 2010
[...] jose: thank you my friend http://i50.tinypic.com/29lib7... [...]
-
-
03. Jul, 2010
[...] jose: thank you my friend http://i50.tinypic.com/29lib7... [...]
-
-
03. Jul, 2010
[...] jose: thank you my friend http://i50.tinypic.com/29lib7... [...]













henrik
21. Jun, 2010
http://img143.imageshack.us/img143/2808/vattenpl.png
Going to work with it a bit more :) But kinda nice resluts :) Andrew, your a god :)
alanpgoodwin
25. Jun, 2010
Thanks for another great tut Andrew. I had a play with it (and included your cracking Mazda model), the results of which are here http://www.youtube.com/watch?v=jJdOxaXnylE.
I’ll be back for more on Tuesday as usual. :)
Taylor H.
25. Jun, 2010
Hey I gave this a go, and have made it my Facebook profile pic. For some reason the water in my puddle turned out to look quite milky. Not sure why but it did, although I think I gave it a pretty good go considering it to be my second attempt.
Just doing your snow one, which is looking pretty cool, can’t wait to do the rain and lightning one. I think a good tutorial to do would be to how to animate like cars driving through a street for example. And maybe just slow down a tad with the video tutorials.
But great work, get it up! Hope I get as good as you one day.
jose
03. Jul, 2010
thank you my friend
http://i50.tinypic.com/29lib7n.jpg
el mejor maestro que he tenido!!!!
Nathan Shepard
05. Jul, 2010
http://img268.imageshack.us/i/puddlesx.jpg/
Thanks a lot! Keep the tutorials coming!
Kinjari
05. Jul, 2010
Still needs work. I wasnt able to get the sharper lines of the puddles and good reflections. Not sure what I was doing wrong but I tried a few different tile selections. I think it was related to the position of plane in relation to the background. http://i303.photobucket.com/albums/nn139/Kinjari/RainyNIght.jpg
Kinjari
06. Jul, 2010
Ok, I re-worked the whole thing and got a better result this time around. Still so much to learn!
http://s303.photobucket.com/albums/nn139/Kinjari/?action=view¤t=OneNightinHongKong.jpg
Neil Brewer
08. Jul, 2010
http://i214.photobucket.com/albums/cc87/neilmbrewer/Blender/puddle.jpg
Loved the tut. But, I could never figure out how to make my water look transparent like yours. Mine always looks black, like oil. So, I’ve dubbed mine “Bourbon Street after a hurricane”
Thanks!
Nyx23
26. Jul, 2010
How do you split the view port vertically? Please help!
Kinjari
29. Jul, 2010
@Nyx23
What version are you using?
if 2.49 hover your mouse over the window boundry and you will get a menu pop up with the first optoin being spilt sceen.
If 2.5b just hover your mouse over the little dog ear tab at the bottom left of the window and your cursor will turn into a plus sign – click and drag to open new window.
Also Google is your friend – tons of Blender info out there if you search.
Quakeulf :3
08. Aug, 2010
This is so much better than video tutorials! Hiding every part inside a video is so incredibly forced and inaccessible for further/quick reference. This is the best way to do it! :3
Skippy
11. Aug, 2010
Thanks so much! http://www.facebook.com/photo.php?pid=31307939&l=8d2bf05450&id=1237894330 I just used the textures you used but a little bit different result.
Tottel
13. Aug, 2010
Thank you for the tutorial. :)
http://img841.imageshack.us/img841/2540/rain04.png
Shubho
13. Aug, 2010
Andrew,
That was a fantastic tutorial, like all the others. Many thanks to you for helping me through the initial stages of blender.
:-)
I will appreciate a tutorial on a detailed explosion scene.
Thanks in advance and for all the previous tutorials.
regards.
James
29. Aug, 2010
I tried this…but my interface is different then yours..I have a different version of Blender I think and all I am getting is black spots on cobble
James
29. Aug, 2010
I tried this…but my interface is different then yours..I have a different version of Blender I think and all I am getting is black spots on cobble I have to abandon this project because the interface on your version and mine are so different it is confusing me
Patrick
30. Aug, 2010
I made this little guy to add with the textured ground plane. Was having trouble with the particle system sparks though. I can’t get them to emit light using indirect lighting. Sparks are a Wire Material and a Line Particle.
Patrick
30. Aug, 2010
oops I for got the link to my render
Sylvain Robert
30. Aug, 2010
Thank you for this tutoral !!
My creation in one day : http://dl.dropbox.com/u/7365723/blender/moteur5-hd.jpg