Follow Me

Dropbox. ?Spread the word.  The first 2GB is free!

Journal Index
« Save your Valentines Day with a Romantic French Film | Main | Deep Green - Solutions to Stop Global Warming Now »

Granola Bar Breaking

When it comes to food, it seems to be one of the more challenging things to render. It's made from real, natural things, and nature always seems to be the hardest to simulate with computer graphics.

In this test I did, I wanted the bar to bulge up and break itself in two.  I also wanted the product to look chewy.  If I had just  modeled this as as 2 objects and skinned them to bones, everything would stretch and bend like it was made out of play dough.  I didn't want that.  I wanted the bar to break like each individual oat and peanut was pulling apart from each other. Here's how I did that.

I had done something like this before on another job.  I couple years back I did a peanut free spot for chewy granola, and it involved a "bag of peanuts" character.  The same skinning problem existed then.  The peanuts couldnt look stretchy.  (I mean they could, but I would have been disapointed in the results if they were) So I struck the peanuts on a skinned surface using particle flow. Take a look at this clip here.

The peanuts were applied procedurally and this worked for these shots at this distance.  But as I tried this technique again on this granola bar, I realized that i couldnt procedurally generate the individual pieces. I needed to place them by hand.  Luckily, since I have Birth Group, from Particle Flow Box #2 by Orabz,  I can easily place particles by hand and Lock bond them in place.


Once they are in place, I have to make them move.  I created a mesh called under bar.  This was the mesh that will stretch and move, causing the oats and chips to move.  This object simply transforms, and morphs, giving me the results that I need. Using the ability to see morphs update as I edit them, I was able to add progressive targets for the animation and edit them in place at the right time.

I also animated some gooey strings by hand.  This is just some mesh skinned to some helpers.  I did position constrain the middle control of the goo to the outter goo controls. From there I added another animation controller and animated the sag of the goo at the end. Pretty straight forward.

Then, a little color correct, some depth of feild, some added highlights and we have our result.  

Got a food situation? Need my help?  Contact me

PrintView Printer Friendly Version

EmailEmail Article to Friend

References (2)

References allow you to track sources for this article, as well as articles that were written in response to this article.
  • Response
    UGG Boots get extremely properly recognized for becoming the makers of high quality footwear
  • Response
    Ruff's Stuff - CG Blog - Journal - Granola Bar Breaking

Reader Comments (3)


Great post, I couldn't agree with you more on the use of procedural placement at that distance. Nice Specular highlight/falloff as well. Nice animation. Looks good to eat dude. The only thing I would point out is the goo. Is there goo cream in the bar? The goo seems so present and creamy, like a cream filled bar. Did a client want that? Anyway. That's all I have to say. See you around man.

Brian Danielson

February 8, 2011 | Unregistered CommenterBrian Danielson

The goo is definitely "idealized". I bet the a real bar would look more like microscopic spider webs when it's pulled apart.

February 9, 2011 | Registered CommenterFred Ruff

Hey Ruff, Great stuff man. I really like the subtle details that you took the time to add in this project of yours. Very cleanly done and executed. Was this done as a personal project?

If you wouldn't mind could you post this scene. I'd love to open it up and check it out.

February 11, 2011 | Unregistered CommenterJohn

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>