Tutorials | Creating a French Bakery

Creating a French Bakery

Download Project - 2GB

Created and written by Marion Machelard, Emma Siret and Céline Soubrane.
Edited by Leif Pedersen.


Symphony of Crackle


It's 7am. Dawn covers the shop windows and pastry in golden light. The smell of warm bread fills the room. The first croissants come out of the oven... Nothing better to start a good day than the French way of course! Enter this immersive scene where rustic charm and traditional French craftsmanship come to life.

First of all, let us introduce you to this project. This set is part of a short film, named Lèche-Vitrine, imagined by Marion Machelard, following our studies. The idea was to produce a short film with friends alongside our respective jobs. As group work is an integral part of our jobs, it's always very stimulating to be able to carry out this type of project together, which is why we'd like to present this tutorial in this way. Starting with Céline Soubrane on modelling, Emma Siret on texturing/shading and Marion Machelard on lighting/compositing. Hope you will find this instructive!


Modeling

The aim is to create a cartoon decor of a bakery with a warm and familiar atmosphere.
First, we need to think about the composition of the image ... what do we want to convey in the image? How are the elements going to work once they're arranged together?

Here, the objective is to create an overview of the set. In this way, the framing displays the entire environment, allowing the viewer to understand the space. This feeling is reinforced by the choice of viewpoint, which places the camera at human eye level, so that the viewer has the impression of entering the bakery himself.

To design the elements that compose the image, I drew inspiration from reality, using objects and furniture typical of a bakery. This allows me to preserve familiar landmarks for the viewer and produce a credible and believable image. This makes it easier for the viewer to immerse themselves in this world.


Steps of layout and modeling

TIP

Once the bakery is recognizable, don't hesitate to play with shapes to create a unique decor!



With a frontal set and fairly simple object modeling, it's time to find ways of adding originality and detail. For example, we can play with asymmetry and exaggeration. Irregularities and variations in shape break down symmetry. We can also distort and tilt the furniture, or add curves to initially straight pieces. To accentuate the authentic look of an old bakery, the wood's wear and tear is marked by the settling that marks long use.


Modeling deformation gives character to the environment and adds a distinct stylization


It's important to remember that the bakery must, above all, awaken our sweet tooth and appetite! This is achieved by creating an abundance of food with a wide variety of breads, pastries and tarts of all shapes and sizes. The wide variety of these elements and a slight disorder in the shelves (jars, cups, labels, baskets, frames) creates a lively space, reinforcing the bakery's abundance and beauty.


Food modeling by Marion

TIP

To lighten the scene, consider removing object faces that are not visible, such as those against walls.



Texturing and UVs

One of the difficulties of this part was the large number of elements and how best to optimize them to avoid wasting too much time.

The first essential point was to think about duplication. As Céline mentioned in the modeling section, a lot of the scenery is duplicated, which is why it's important to do the UVs on the basic models before duplicating them. Some duplicated elements are subsequently deformed, to adjust that you just have to select the UV Shells and fit their scale according to the deformation or, more simply, click on “Unfold” to redraw the UV correctly.

TIP

Align the UVs in the same direction as the grooves. This will save you having to create different masks when texturing to adjust the texture on each plank.



Wooden planks UVs


Then there's the question of how to arrange the UVs. As we have a lot of elements and therefore a lot of different materials, it didn't seem very sensible to sort them by material. That's why we chose to organize our UVs by object or group of objects. This made it easier for us to find our way around.

Scheme of the different UV groups


To UDIMs or Not to UDIMs

As most of the objects in the final image are small or distant, a single 1024 or 512px map was more than sufficient in terms of resolution. Only large pieces like the green wooden furniture required more than one UDIM to maintain detail.


Texturing

Before starting any texture work, it's important to establish your references and analyze them carefully. This will give you a clearer idea of the type of rendering you're looking for, so you can be more efficient.

In our case, one of our main references was the Pixar film Luca (fortunately!). What's interesting about this film is how Pixar managed to bring their sets to life without ‘dirtying’ them with traditional dirt maps, but rather by using a graphic aesthetic which reinforces a natural variation inherent in pretty, picturesque villages. This variation is the effect of hundreds of years of human choices in an environment, rather than only decay.

PureRef to analyze Luca’s texturing work

    After analysis, we can move on to texturing. In Substance, there are numerous methods for texturing, but one of the simplest consists of using a fill to which we apply our base color. We then modify it by superimposing other fills with different mask generators. This allows great flexibility, because the color and masks can still be modified, unlike a layer where you paint directly, and which is therefore not destructive.

    From these fills, we finally generate the other maps (Normal, Displacement, Roughness) and gradually adjust to obtain the desired material.

    Substance organization


    Variations, Variations, and Variations...

    Let's take the example of wood. We're trying here to reproduce painted wood that has worn over time. So I start with a wood base taken from Substance's database and quickly adjust the color. I then apply an initial fill for my paint, which I vary with other shades, changing my roughness slightly each time to give more relief (damaged paint = rougher). These fills are placed in a group to which I apply a mask to simulate damaged paint, particularly around the edges. I then gradually add the details identified earlier to enrich the texture.

    Texturing steps

    TIP

    Generally, we tend to change only the value or saturation when we make variations, but don't hesitate to change the hue too, it will add a more interesting dimension to your texture!




    Denoising for Look Development

    I used the RenderMan machine learning Denoiser to great extent. It helped me greatly when I needed a quick turn-around during look development. Using it early during our project was crucial to cut down on final render times, as it allowed us to understand how converged the image needed to be before the Denoiser could clean things up.

    Material variation can be subtle but is very important for convincing textures


    One of the advantages of using Substance is that you can create your own materials and add them directly to the smart materials (database of basic materials). Hence the importance of creating a good base (wood, paint, metal…), you can then select your group and click on “Create smart material.”

    All that's left to do is apply them to the different models and then modify the sliders accordingly. It will save you a lot of time!

    Creating smart material


    Once my work was finished in Substance, I exported my texture maps and finally moved on to shading!

    Final Set Albedo


    Shading

    Another advantage of Substance (or other 3D paint softwares like Mari) is its preview capability, which gives you a good overview of the material and allows you to adjust the maps beforehand. However, this does not mean that once the maps have been applied to our PxrSurface, all we have to do is connect them to the corresponding channels to consider the shading complete. There may be differences between the rendering obtained in Substance and the one obtained in RenderMan. This is why it is sometimes necessary to remap, color correct, or manipulate our textures in other ways while we refine the final result.


    Duplication and PxrVary

    With many duplicated elements sharing the same PxrSurface, we have to find a way to vary all this stuff. One of the most useful nodes in this case is PxrVary. When connected to the color base, this node can introduce variations in saturation, value and hue. This makes for greater realism and avoids the dreaded “perfect 3D” effect. For example, for our breads and pastries, this gave us the ability to add subtlety to our baked goods, as breads are never 100% the same ... as they vary slightly in flour, water, yeast, and baking time.


    Breads and pastries with and without PxrVary 


    Roughness and Specular

    Another technique I've got is to invert my Roughness map using a remap before applying it to the EdgeColor. You can then adjust the remap to suit your needs; in this case, I lowered it to preserve the gloss of the paint. This trick allows more variation in roughness and enriches the texture a little more.

    Wood with and without specular remapping

    Finally ,one of the special features of this set is its viewpoint, designed for an overall shot where the objects appear relatively far away. As we already mentioned in the UV section, we optimize rendering time by exporting small maps but we can also avoid applying Displacement maps for that. Indeed, at this distance, a simple Normal map is more than enough to simulate relief effectively.






    Lighting

    The two main goals of lighting are to appeal to emotions and tell a story.

    Indeed, it's through the choice of lights, their orientation and color/temperature that we create an atmosphere that evokes emotions and senses. In this case, the idea was to create a warm sunrise atmosphere that would highlight the delights offered by the bakery. The orange colors of the intense sunlight penetrate the front windows, revealing the scent of warm breads and sweet, crunchy, melt-in-the-mouth textures. A feast for the eyes and the imagination!

    I used three types of lights in this set. The main light source or key light, is achieved with a PxrDistantLight, which has the particularity of not losing energy with distance and providing parallel shadows, like the sun.


    PxrDistantLight, sun


    The sun's orange hue and high intensity give structure to the set, guiding the viewer's eye and supporting the narrative. Slightly tilted downwards, the PxrDistantLight offers elongated shadows that help compose the image and reinforce perspective. As the scene is rich in elements, they can also be used to extinguish certain areas, simplifying the reading of the image.

    The fill light is characterize by its bluish tint, representing the sky's indirect illumination and is achieved with a PxrDomeLight. This avoids pitch black shadows and brings a vibrant glow to the shaded parts of the set. For sampling efficiency, PxrPortalLights direct light importance and are placed at the opening of the windows.


    PxrDomeLight, Sky


    For added control, I attached a PxrIntMultLightFilter to the PxrDomeLight to reduce its exposure on the windows, as the reflection on the glass was too strong and burnt out the image, disrupting the visibility of the pastries. Three PxrRectLights were placed in the maya scene. Two acted as bounce lights at the points of impact of the sun, and one was placed behind the door to evoke the presence of a baker working behind the door.

    Finally, a PxrVolume connected to a box primitive, provides a diffuse atmosphere corresponding to the golden hour. This volume is light linked to the sun light, to avoid making it too bright with other light sources.


    PxrVolume, fog (color corrected to better visualize it here)

    TIP

    The outdoor set dress was used as the basis for the shadows. I removed some of the meshes from this facade and replaced them with off-camera planes to build shadows that would modify the image.




    Planes selected in green to simulate shadows ... aka, geo light blockers


    Rendering

    Once you've defined the frame range, aspect ratio, and render camera in the render settings, it's time to determine which sampling will provide the best compromise between calculation time and image quality. Let's also keep in mind that the RenderMan Machine Learning Denoiser will help reduce sampling noise.

    In the Render Settings > RenderMan > AOVs tab we can choose the settings needed for compositing. In the case of this scene, I've created five main outputs:

    • Beauty - Will be used to Denoise and recover the alpha of the layers in the image.
    • LPEs - Contain information relating to asset materials.
    • Light Groups - Key light, dome light, and door light.
    • Data Outputs - Utility passes to create a slight depth of field in post.
    • Cryptomatte - Will help select assets to modify in Nuke. This is via the Sample Filters, not the AOVs tab.


    AOVs and LPEs ... or outputs ... or data passes ... oh, CG jargon


    Optimization also involves the creation of render layers. In the case of this image, the glass windows require a greater number of samples and Max Specular Depths to make the light travel and sample the assets behind them correctly. I therefore separate the two windows from the main set so that I can override Max Samples, Pixel Variance and Max Specular Depth.


    Layers with overrides examples


    Finally, isolating the volumes in their own “FOG” layer with the set made into a matte object, will make it easier to integrate and modify during compositing. Sampling should be overridden downwards, always with the will of optimization.

    With the three layers ready and checked, it's time to hit the batch render button!


    Rendering Passes

    TIP

    Reading the XMLs (in “project name, renderman, rib”) guides the optimization search.



    Compositing

    Once the AOVs have been Denoised, I use the Light Groups to rebuild the beauty pass in Nuke. This allows me to make modifications directly to the lights, be it exposure, tint, or contrast.

    For further stylization,  the shadows have been tinted blue and the highlights have a slight orange and violet tint, which help accentuate the sensation of warmth. Before merging the layers, I use the Cryptomattes on certain glass objects whose brightness overpowers the image. To accomplish this, all I have to do is lower their reflection in the Light Groups and their specularity in the LPEs. Once the depth of field has been set using the Z pass in the utilities, it's time to merge the layers!


    Raw render


    The next step is to accentuate the viewing direction by using a Grade node where we can lower the gamma. The resulting contrast focuses attention on areas of light.

    The Glow and eFibonacciGlow nodes enable me to intensify sunlight by giving it a glow and simulating a lens smear, which gives the scene a dreamy look. To prevent the light from diffusing into shadows areas, it's important to isolate these highlights in a mask with the Keyer node.

    Finally, we recreate the chromatic aberrations of a camera, apply lens vignetting, and a touch of grain to the image. Enjoy playing with the project!


    Final composite!

     
     
     


    About the Artists


    Terms of Use

    This project is available with a Attribution-NonCommercial 4.0 International License. This allows you to share and redistribute for non-commercial purposes, as long as you credit the original authors.




    Attribution-NonCommercial 4.0 International
    (CC BY-NC 4.0)

     
     
     

    NEWS | Check out several new tutorials!