How to Create Realistic Bread

Discover how to model, texture and render a realistic cut loaf of bread.

62 mins
Blender 2.67b
VN:F [1.9.22_1171]
Rating: 4.8/5 (156 votes cast)

In this tutorial you will discover:

  • How to use the new subsurface scattering feature
  • How to model and texture realistic food
  • Why Displacement and Normal maps are awesome

Food is one of those difficult topics that a lot of 3d artists avoid due to it’s difficulty. Pixar even said that one of the hardest parts of Ratatouille was to make the food actually look appetizing.

So in this tutorial we’re gonna dive straight into the topic of food, and create a rather complex looking loaf of bread.

Finished Result

Download the finished .blend

Tutorial Files

Text Summary

Modelling the loaf

Delete the default cube and lamp, go into Top View and add the loaf texture to the background.


Add a plane and move the vertices around to fit the white patch of bread in the center.


Extrude one edge out towards the end of the white area.


Do the same with the other 3 edges, so you’ve covered the white part of the bread:


Add 4 loop cuts (ctrl+R), along each wing to more accurately fit the shape:


Go into edge select mode, and select the outer edges of the shape:


Extrude the edges (E) outwards, then move the vertices around to fit the outer crust area.


Create a face between two wings, by extruding one vertex, then selecting the vertices and pressing F.


Continue this process, until you’ve covered the entire crust area:


Extrude the outer edge twice:


Select all the vertices then press U > Project from View.


Jump to the UV Image Editor, and load in the same loaf texture. Select all the vertices, then scale and move them around till it fits the image as we just modelled it.


Go back to the 3d view, and in face select mode, select the cross shape and move it downwards to create an indent.


Select the bottom edge loop, turn on proportion editing (sharp falloff) and move the row down to shape the loaf as shown:


Turn off proportional editing, then tuck the bottom row underneath the loaf by scaling, as shown:


Enter Object Mode and push Ctrl+2 to turn on the subsurf modifier:


Go back into edit mode and select the edges of the cross as shown:


Push Shift+E then drag outwards to create a crease along those edges. A value of 0.5 works nicely:


Go to the material node editor, add a new material, then connect an image node with the loaf texture, to the diffuse shader:


In the viewport, switch to texture view and you should see the loaf nicely textured:

Woo! Basic modelling and texturing is complete.


Adding detail with displacements

Go to the modifier stacker and add a Displacement modifier. Click New to create a new texture.


Go to the Texture Panel and select the Displacement Texture from the dropdown. Then set the type to Image or Movie.


Click Open and load in this displacement texture generated using CrazyBump.


Go back to the modifier stacker and increase the subsurf level to 6. For the Displacement, change the texture coordinates to UV and strength to 0.150.


Add a sun lamp with a slightly warm color, strength 5 and shadow size 0.50.


Render it now and you should have this:

Not bad, but it needs more finer detail on the surface.


Adding fine detail with a Normal Map

Go to the material node editor and add a new Image Texture node, and load in this Normal Map texture. Set it to Non-Color Data.


Add in a Normal Map node (Add>Vector>Normal Map) and connect it as shown:


Render it now and you should have this:

Much better! But let's push the realism even further with some subtle gloss.

Much better! But it looks like it’s made of concrete. Time for some subsurface scattering!


Adding Subsurface Scattering

NOTE: As at the time of making this (Blender 2.67) you need to set your rendering device to CPU and feature set to Experimental to use this feature.

Add a Subsurface Scattering node (Add>Shader>Subsurface Scattering) and connect it to the Color image texture.


Set the Radius values as shown, which will change the SSS light to slightly yellow:


Add a Mix Shader node and connect it to the Diffuse and Subsurface scattering node as shown. Set it to 0.8 to give the subsurf scattering 80% priority over the diffuse.

The complete node setup looks like this:


Render it now and you should have this:

Yay! The bread loaf is now finished. Notice how the SSS suddenly makes it look like real bread?


 Cutting the loaf

In top view, add a loop cut (Ctrl+R) in the place you want to cut the loaf.


Select the part of the loaf that you want to cut off, then press P, then Selection. This will separate it into two objects.


Select the piece that you don’t want and delete it, or move it to another layer, leaving you with a cut loaf:


Go into edit mode, and select the edge loop along the cut, then press S, Y then 0. This will scale it flat along the Y-axis, making the cut perfectly clean.


Next, you need to fill in the gaping hole with faces. So using the geometry available, fill the space as best you can.


It’s important that you try to keep the faces as square as possible as, we’ll need it for the displacement modifier. So add two extra loop cuts as shown:


Duplicate the Loaf material, make it a single copy, then rename the new material Slice.


Select the faces on the front, and assign them to the new Slice material.


Because we need to combine two different Image textures to the same object, we need two different UV Maps. Go to the object settings and add a new UV Map. Rename them as shown:


With the Slice UV Map selected, go to the UV image editor and load in this bread slice image texture.


Because, we don’t want the rest of the loaf confusing us, select all the vertices except the front faces and press H to hide them.


With the front faces selected, go into front view, then press U > Project from View.


In the UV image editor, position the mesh over the image of sliced bread as best you can:


Next, go to the node editor, and with the Slice material selected, swap out the color image texture with the slice image texture:


Then swap out the Normal Map image texture with this one.


In the Normal Map node, set the UV Map to Slice.


If you rendered it now you’d see this problem:

The reason for this is that the Slice material is still using the default UV image coordinates, which are for the loaf.


To fix this, go back to the node editor, add an Attribute node and type Slice in the Name box. Then connect the Vector output to the Image Texture Vector inputs.


Now the slice material should render correctly:


The Slice Displacement

Currently the displacement that we added for the loaf is incorrectly applying itself to the sliced off face as well:

What we need to do is set two separate displacements, and have them only apply to the correct parts of the mesh. To do this we’ll use Vertex Groups.


Go into edit mode and select all the vertices except the front slice vertices. Go to the Object Panel, and add a new Vertex Group with the Name loaf, then press Assign.


If you enter Weight Paint mode now (Ctrl+Tab) you should see the loaf as red, and the slice as blue. This means the Vertex Group is working!


Go to modifier stacker, and in the displacement modifier, set the Vertex Group to Loaf.

As you can now see, the displacement is only being applied to the loaf. Great success! Now let’s create a separate vertex group for the slice.


Go back to the Vertex Settings and add another Vertex Group, and assign it to the front faces only. Name the new group Slice.


Go back to the modifier stacker, and add a new displacement modifier, and a new texture:


Go to the texture panel and select Displace.001 from the dropdown list, then set the type to Image or Movie.


Load in this slice displacement texture, go back to the modifier stacker and set the Vertex Group to Slice, the Texture Coordinates to UV, the UV Map to Slice and the Strength to 0.050.


Render now and you should have the final product!


Now make a story out of it!

I hope you enjoyed the tutorial. I’m looking forward to seeing some cool bread scenes soon!


PS. In the next coming weeks you’ll be seeing a few teasers from upcoming course The Architecture Academy. Stay tuned ;)

How to Create Realistic Bread, 4.8 out of 5 based on 156 ratings

About Andrew Price

User of Blender for 9+ years. I've written tutorials for 3d World Magazine and spoken at three Blender conferences. My goal is to help artists get employed in the industry by making training accessible and easy to understand. I'm an Aussie and I live in South Korea ;)
  • tintin

    hi im new to blender can u make a realistic face full tutorial on mac and windows


  • Guest

    hey i have the problem when i go closeup to the bread, it have some sort of black shape, anyone know what is the problem? and how to solve it..thks

  • Pingback: 制作真实面包 – Create Realistic Bread | Blender Totem

  • t_gokuul

    This is my result. Didn’t upload properly the previous try!

  • Guest

    This is my result

  • Pingback: Picnic Blender Project: Introduction | Dunia Yudhis

  • Bennyelg

    Awesome Tut this is my result:

  • Andreu Martínez

    Added some things and wanted to share :)

  • Andreu Martínez

    Thanks :) like always, great tutorial!

  • Levi_=)

    Great Tutorial… I’m a beginner but I easily followed your tutorials since it is very detailed. Your tutorials are very unique that I remembered Bucky from while I was learning programming stuffs, you have quite some similar teaching styles in approaching students, but each both unique in each manner and special, I was learning blender from a book before I switched to this ‘learning community’… it was just a few days later I accidentally saw your videos about improving blender UI and the conference, I felt sad the proposal wan’t accepted, I really loved your UI but nevertheless, even if the normal UI is there we beginners FEAR NO UI if we have a teacher like you. I actually forgot the book and watched your tutorials instead and realized you’re tutorials are far more detailed than the book can offer. Keep it up and no matter what, the name Andrew Price and his talents rocks… [Book's name is hidden, I don't want trouble]

    But there’s one problem Andrew, hours in front of computer I forgot eating now I’m starving, I wanna eat the bread inside my computer… have you got tutorials on how to export the stuff to real object in real life? Haha… just kidding. =D

  • Bart Raeves

    Good tutorial once more,

    My result is ok but not 100% satisfied with it.
    Tried to use the smoke simulator to create some steam above the cup, but i didn’t succeed in rendering the smoke.

    On to the next tutorial

  • Shams

    Great Tutorial, thanks Andrew, i did try to make one following your tutorial, though its not near to what you have made here, i would love to see how you made that jam bottle with nice realistic look. Thanks again.

  • Jan

    Thanks for tutorial;)

  • Mauro Castaldi

    Impressive. Great work !

  • blub

    amazing tutorial!

  • help!

    hey im having trouble with the texture. I add the image texture and select the loaf texture and the whole thing turns brown. please help!

  • dee

    Hi there, awsome tutorial!! just trying it, i have one issue, please help!! i´m using my own texture, and take a picture from the top and other from de bottom , but the displace doesnt recognize the mapping .. :( how can i solve this?

  • Jonas J.

    That’s the way I’ve used that tutorial

    Check it out and pls leave a comment :)

    • Matt

      Really Cool! :)