Thursday, December 9, 2010

How to Create a Glazed Doughnut in Blender

Hello, everyone!  In this tutorial, I'll be teaching you how to create a glazed doughnut in blender (yum!)

This is the final result of the tutorial:


This tutorial will teach you how to:

  • Create a realistic doughnut mesh
  • Create a realistic (and tasty looking) doughnut material, with no UV Mapping or image textures
  • Use color bands effectively
So let's get started!  I'll be using Blender version 2.55 beta, which can be downloaded here: Blender 2.55 beta

Begin by pressing X to delete the default cube, and Shift A to add a Torus.


On the toolbar to the left, change the Minor Radius to 0.65.  This will make the doughnut a lot thicker, and the doughnut hole a lot smaller.


Next, under the Shading title, click on Smooth.  This will make it so that the doughnut doesn't look so blocky and sharp.


Now on the right, go to the Modifiers tab (the one that looks like a wrench), click on Add Modifier, and select Multiresolution from the menu.


On the modifier, click the Subdivide button several times.  I've set my subdivisions to 4; whatever you set yours to depends on how much your computer can handle (and yes, mine can handle more than that ;).  This is adding more vertices and smoothing them out, to make the overall mesh much smoother.  After you've subdivided, enable the Optimal Display option.  The optimal display will make it so that when you render, it only renders the faces of the mesh that you can see directly from your point of view, and doesn't render the ones on the back that you can't see.  This speeds up render time and 3D viewport interactivity.


Now click on the Textures button (the button that looks like a checkerboard), and add a new texture.  Name it Displace.  Naming something isn't necessary, but it helps when you have multiple objects, materials, textures, etc. in your scene.


You'll notice that it creates a Clouds texture by default; that's okay, but we need to raise the Depth to 6 (the maximum depth value).  The higher you put the depth, the more detail the texture has.


Now go back to the Modifiers panel, and add a Displace modifier.


Click on the box underneath the Texture title, and select our Displace texture we made just a second ago.


You should now see a result as shown above; this obviously doesn't look anything like a doughnut.  The problem is, the displacement is too strong.  All we have to do is lower the strength down to about 0.05.  You should now see something like this:


We have simply added a tiny amount of detail to make the doughnut look a little more realistic.  But there's still one underlying problem; and that's that the doughnut is still too perfect because we need to add more displacement, but on a larger scale.  In other words, now that we've added some of the smaller bumps, we need to deform it.  A lot.

Start this by going into Top View by pressing 7 on your number pad, then 5 to go into orthographic view.  Before we switched to orthographic, we were in Perspective View.  This means that there's a vanishing point, hence the closer something is to your viewpoint, the larger is is, and the farther, the smaller.  This can be inconvenient while editing our mesh, so switching over to Orthographic View will make it much easier.


Press Tab to enter Edit Mode, then A to deselect everything.


Now press the O key to turn on Proportional Editing.  This way, if we select a couple Vertices (B for Box Select, then click and drag) and move them around (G), other vertices within a set radius (defined by the circle that appears when you move them) will follow it, but they will be drawn less and less the closer they are to the outer rim.  You can adjust the size of the circle by scrolling with your mouse wheel.


Just do this continuously until you think your doughnut is deformed enough.  Remember, if you want it to look realistic, it needs to have a relatively large amount of deformation, as doughnuts often get squashed up against the edges of the box and against other doughnuts.


Remember, since we're working in 3 dimensions, we need to go to the front and side views as well (Front - Numpad 1          Side - Numpad 3).  By now your doughnut should be well deformed, so now we're going to give it another displacement modifier.  But before we do that, we need to apply our current modifiers.  Do this by clicking Apply on both of the modifiers we've added.


Now add your new displacement modifier, and select the Displace texture again.  But this time, go back into the textures panel, and change the Depth to 0, and the Size to 0.5.  Back on the modifier, change the Strength to 0.05 again.

Now out doughnut's looking good, but it's too tall, so press S - Z to scale it down along the Z axis.


That's it for the mesh; now we need to move on to the materials.  Click on the Materials button on the right (the checkered sphere), and add a new material.  Name it Doughnut.  


First things first, set the diffuse Intensity to 1.  This will ensure that our material won't render darker than it actually is.  Put the Specular at 0.24, and the Hardness at 55.  This adjusts how much light our doughnut reflects, and how widely it reflects it.


Next, raise the Emit value to 0.1 (this will make it so that the doughnut is emitting a small amount of light), and enable Mirror.  Under the Mirror panel, set the reflectivity to 0.12, and the Fresnel to 1.8.  The Fresnel decides how much of the material is showing through the reflection.

You should now see something like this in your Material Preview Window:


Now go into the Textures tab, and add a new texture.  Name it Warp.  This texture will warp all of the other textures we're going to add.  Scroll down to the bottom, and disable Color, and enable Warp.  Set the warp value to 0.46.


Now under the Mapping panel, click on the boxes beneath Flat and change them all to Z.  You won't see any difference on the boxes, but this makes it so that the blend texture is going vertically instead of horizontally.  Make sure you do this with all three of them.


Scroll back up to the top, click on the channel underneath the texture we just added, and add a new texture there.  Name it Color, and change the type to Blend.


Under the Colors panel, enable Ramp.  We've just now added a color ramp; with this, we can control the colors in the blend texture, and how sharp the transitions are.  Click on the color band to the far left (you can't see it, but it's there), and click on the black box underneath it.  Raise the Alpha value to 1.


Now we can go in and adjust the colors, and add new ones as needed.  To add a new color band, simply click on the Add option right above the color ramp.  You can then change it's color, and move it around the ramp accordingly.  I won't go through every color band, but this is my result shown below.  Keep in mind that the colors you're seeing in the texture preview window aren't accurate; just pay attention to the way you see them on the actual ramp.


I lowered the alpha value on the really light spot in the middle simply because I couldn't seem to get the color right, so I had to adjust both the color and the alpha values to get the result I wanted.

Now at the bottom again, enable Displace, and raise that value to 0.13, then raise the Normal value to 5 (but don't actually enable the normal).  This will use the color ramp to displace our mesh even more.  Also, if you're using 2.56a or newer, make sure you enable 'Old Bump Mapping'.  Any texture we add where we use the Normal slider, enable this or you may experience a few problems with your textures.


Now add a new texture, change the type to Voronoi, and name it Bump 1.  Now enable the Ramp option again, to allow us to work with the color bands, and switch the color bands around, so that the black is on the left, and the white is on the right.


Now scroll down to the bottom, disable Color and enable Normal (normal, to sum it up quickly, means 'bump'), and set the normal value to 0.25.


Now add another texture and name it Bump 2.  Lower the Depth to 1, raise the Size to 1.55, and enable Ramp so we can work with the color bands yet again.  This time, drag the black one up really close to the white one. This will sharpen it.


At the bottom, keep Color enabled, and also enable Normal.  Drop the color value to 0.065, and drop the Normal value to -0.5.  


Now add one more texture (last one; hang in there!), and name it Bump 3.  Put the Depth at 0, and the Size at 0.65.  Enable the color ramp again, and drag the white a little closer to the left, and drag the black a lot closer to the white, as shown below.


Enable Normal, and raise the value to 0.84.  Lower the Color value to 0.18.


That's it!  If you take a look now at your Material Preview Window, you should see something like this:


If you render now, you should get something like this (results will greatly differ depending on what sort of lighting setup you have):



If you wanted to take this image a little farther, I'd recommend you enable Subsurface Scattering (SSS).  I had to tweak the settings on it a bit, but in the end it turned out.

So that's all!  You've just learned how to create a relatively tasty looking doughnut in Blender!  You may want to mess with a few things; typically the cleaner the mesh, the more tasty it looks, so try different levels of detail and see what you come up with.

If you encountered any problems, or have any questions or comments, post them below.  If I haven't responded for a while, send me an email here: ben.amend@gmail.com

Thursday, December 2, 2010

How to Create a Sketch Effect in Blender 2.55

Well, since I can't get my video tutorials to upload anywhere else, and my website is still in progress (yes, I got a website with my own domain name), I figured I'd make a few more text tutorials here.  This tutorial will teach you how to create a sketch effect in Blender.  Here is the final result of this tutorial:


In this tutorial, we will be relying on the compositing nodes do do the majority of the work for us.  The only thing we'll be doing outside of the compositing nodes is putting together our scene.  I'm assuming you have at least enough knowledge to compile a simple scene (like the one I did above), but even if you don't, this effect will still work fine on the default cube ;)

So, we'll start by selecting Compositing from the drop down menu on the toolbar at the top.


Next, enable the Use Nodes option at the bottom of the compositing window.  This should show two nodes: A Render Layer node, and a Composite node.  Press Shift-A, and add an Viewer node (Output - Viewer).  I like to drag the viewer node to the upper right corner, the composite node to the lower right, and the render layer node to the upper left.  This will leave plenty of space in between for our additional nodes.  Next, connect the image output on the render layer node to the composite node and the viewer node (Simply left-click and drag), then enable the Backdrop option, which is right next to the Use Nodes option we used just a second ago.  You should now have a setup that looks something like this (if you're just seeing a black box in the background, try rendering the image, and it should appear as a background in the node window):


Now that that's out of the way, we can work on the actual effect.  Start by adding a Filter node (Filter - Filter), and connecting the render layer output to the input on our new node.  From this point on, it's up to you whether you want to reconnect any new nodes you add to the viewer node; just keep in mind that whatever is connected to the Viewer node is what will be shown in the background.  On your filter node, change the type from Soften to Sharpen.  However, you'll notice that it doesn't really sharpen quite as much as we want it to.  To increase the amount (since the factor on the node won't go any higher than 1), duplicate the node and connect it to your previous Sharpen node, then set the factor of the new one to 0.05.  The higher you raise it, the more detail will be shown.  I usually like to keep mine relatively low, though.



Next, we'll add a Math node.  Connect the newest Sharpen node to the first Value slot on the math node, then set the second value to 0.  Next, choose Greater Than on the drop down menu.  This will isolate anything that isn't part of the actual effect; it's basically what the render would look like if you used the sharpen effect, but you couldn't see the rest of the scene.  If you connect the Math node to the Viewer node, you should see something like this:


If we wanted, we could stop right then and there and say that the effect was complete.  It looks pretty good, but I think it can still be improved, so I'm going to continue on with that.  Add a Blur node (Filter - Blur), and connect the value output of our Math node to the input of our blur node.  Next, change the blur type from Flat to Fast Gaussian.  Then raise the numbers on both the X and the Y values to 2.  


Now add a Mix node (Color - Mix) and connect the output of the blur node to the Fac value of our mix node, then connect the Value output on the math node to the second input on the mix node.  Change the node type from Mix to Screen, and by clicking on the little color box, choose a darker grey.  How dark you make this grey is up to you and how light you want your 'pencil' to be.


Finally, connect the output of the Mix node to the input on the Composite node, and you're done!  I've also added a vignette effect, but I won't go over that as it's not a necessary part of the tutorial.

Here is the final node setup (vignette included):


And here is a link to the .blend file (this was made in blender version 2.55 beta): Sketch Effect .blend

If you had trouble with any part of the tutorial (or downloading the .blend), then feel free to post a comment below.  Thanks for reading!

*UPDATE* I figured out how to anti-alias the effect; go into the render panel, and under Anti-Aliasing, enable Full Sample.  That's it :D *UPDATE*

Saturday, October 16, 2010

Technically Second Video Tutorial

Hello, everyone!  This is technically my second video tutorial; I recorded a first one on a different topic, but it was 18 minutes, so I couldn't find a place to upload it.  I'll redo it sometime soon and divide it into two parts.  As it is, here's a tutorial.  Sorry about the subject; I tried to a different one after this, as I wanted to do a tut where the viewer never had to leave blender and go into a separate program, but it was getting too late in the day, so I've stuck with this one for now.  In other words, ignore the 'This is SSimpossible again' as it's only again to me, and not to you ;)  So I guess this tutorial was more of a test; just something for me to practice, and a way for you to possibly get used to my terrible voice.

P.S. Sorry for all the mistakes
P.P.S. I noticed there was a strange glitch at the end where the cursor remained the same as the one in SketchUp; oops...


A Little Help?

Hey everyone!  I've recorded my first video tutorial, but it's 18 minutes long.  That means I can't upload it on youtube, and vimeo's never worked for me.  For some reason when I try to upload videos to it, it just doesn't do anything!  The Recording is an avi file; does anyone know how I can get it up somewhere so people can follow it?!  I can't upload it directly to my blog either; it'll compress it too badly...

Thursday, October 14, 2010

Video Tutorials

What do you think?  Should I start writing video tutorials?  They take up a lot less of my time, so I would have huge delays like this if I did them.  I need input on this before it'll happen, though.  If I do, I'll start by re-doing the Magnifying glass tutorial, this time completing it.  And I won't have so many tutorial parts either.