When working on the Northern light images, I started experimenting with a new workflow to create food assets, in particular bread and other baked products. After having found a relatively laborious but clean and effective approach, I decided to build a small library of baked, carb-heavy assets. I didn’t go very far, and I will certainly return to this at some point, but I thought I’d post a few of the resulting test images and write a little bit about the scene and the workflow, which I unfortunately didn’t properly document in images and screengrabs – sorry if this seems like a lot of text.
First a few words about the modelling process. Each asset starts with a real-life loaf/roll/bagel (generally from here) which I scan using my Ipad and Autodesk 123D Catch (formerly known as Photofly). The free app can build faithful and fully textured 3D models from a set of photos. Having done the capture, I take a large set of hi-res photos of the loaf under as neutral a light as possible using my DSLR. Then, and only then, I ate it.
The 3D scan is of course not usable as such. Its tris do not lend themselves to displacement, subdivisions, or even proper unwrapping, and the texture is too low-res and with too much lights and shadows. But it is a good base on which you can remodel the asset, using 3ds Max conform tools, which allow you to draw a mesh on any surface. Once I have an all-quad low-res model with a nice polyflow, I conform it to the scan, using the conform tools again, to make sure the new topology clings as closely as possibly to the shape of the scan.
Then follows the laborious work of UV-unwrapping and texture-painting in Photoshop, using the hi-res photos stitched together in one large map (after a lot of test-renders, trials and errors). The final model is rounded off in Max (using the Viewport canvas to erase seams in the texture) and in Zbrush for an extra bit of detail, which is then converted to displacement and normal maps. Back into Max, the asset is given a 2D Vray displacement modifier to bring back the level of detail obtained in ZBrush in the render.
So here is what the scene looks like in Max (the Max spotlight is only there to cast caustics; the illumination comes exclusively from the VrayDomelight):
Here is a wire render showing the non-subdivided assets (an earlier version of the scene, hence the different model placement). Note the black bread on the right is all-tris. This is from an earlier workflow, which I have now abandoned for this type of asset: The mesh was build in ZBrush from scratch, decimated there and exported as a mid-weight asset. These tend to make the scene very heavy though. The other, all-quad, non-subdivided assets are much lighter-weight.
The Clay render shows the impact of the displacement modifier, using hi- and mid-res texture maps (2k for the rolls, 4k for the big loaf and bagels).
For the bagels, I used actual geometry for the poppy and sesame seeds and different diffuse maps to create variations across five copies of the same asset. The seeds are scattered on the geometry using Itoosoft Forest Pack Pro. I used a B&W image to tell Forest where to position the seeds and baked them into a poly mesh once I was happy with the result. The seeds are given a slight colour variation too. I used MassFX to position lo-res proxies of the bagels in the bowl, later replacing them with the full bagel meshes. The towel around the bowl was made and draped in Marvelous Designer (hence the tris). I use a VrayHDRI map for the fabric’s bump texture (itself an 8-bit JPG) as I find it generates much stronger, nicer and more defined bump than a basic bitmap image – for some strange reason I don’t quite understand.
Here are snapshots of the materials, as well as the materials settings, for the Bagels and for the small rolls. As you can see nothing spectacular.