When Advertisement meets VFX: Fabio Rossi Textures an Ogre
Where it all Began
In 1999 - I was twelve years old - the first Toy Story was an unbelievable experience. I never had the skills to draw or paint and I thought computer graphics was something out of science fiction. I was always passionate about art: I devoured art history books and was deeply in love with computer graphics.
One day, I stumbled upon a CD containing a freeware version of a 3D software called Bryce (it was similar to Vue and Terragen), and from that point on, I was completely hooked on creating my own worlds. So I spent the next few years trying to learn everything I could, as I found it more satisfying than playing video games!
Now, I have a bit more than thirteen years experience working in the computer graphics industry, more specifically in advertisement, animation and visual effects. I did a bit of everything, from modeling to simulation, until I decided to focus and specialize in lighting, shading and rendering.
In 2010, I decided to take a break from computer graphics and travel to Los Angeles. I wanted to learn filmmaking and on-set photography direction. There is so much you can learn about lighting on a real set! I went on to work as a cinematographer until I finally got back to computer graphics in 2013.
I’m working at O2 Filmes. We have a 3D team that fluctuates from 15 to 30 people according to project demand. As a lead lighter and look developer at O2, I tend to work on almost every project. That can range from cartoon to photorealistic for TV commercials, series and feature films.
The Ogre commercial for SKY TV was a part of a campaign that used fairytale characters and princesses. In this particular ad, we see a princess and an ogre each cheering for their soccer teams. The plot twist here: the menacing ogre's team loses and he starts crying. He is an ogre, so he had to be charismatic and still preserve some degree of believability, both in his fantasy environment and into the live action plate of the princess.
We didn't have much time to create this character - just a few weeks, as is often common in the advertisement industry. So the modeler Alex Liki created the base-mesh inside Maya, which was sent to rig and then to animation departments, led by Alexandre Martins. Meanwhile, I started the texturing and shading process of the armor and scarf in both Maya and Substance Painter. Then, Liki went on to create the creature's wrinkles, details, and a base color texture for fast approval in Zbrush.
Once that had been done, I proceeded to create the final skin textures in Substance Painter. The details were brought back to the final Vray shader as a displacement map and I created the grooming in Shave & Haircut. The final look and animation were approved by VFX supervisor Sandro di Segni. Then I created a light-rig so lighting artist Lucas Papini could replicate it for all the shots.
The texturing workflow on this project was very peculiar, because the ogre character needed to hold its texture resolution for close-ups and we didn't have the time to create everything by hand. I created procedural materials inside Substance Painter to take advantage of baked information.
I replicated these smart masks for all the metal, leather and cloth materials. Later, I enhanced them with Maya's procedural nodes so it could really hold close-ups. The embroidered detail on the scarf was projected from the concept art in Substance Painter in very low resolution to serve as a guide for me. I used it to paint the final embroidery in a separate layer with its own height, specular and diffuse information.
I also prepared a procedural material inside Substance Painter specifically for the ogre’s skin. The material could generate from Liki's base texture all the information for dermis, subdermis, veins and blood for the subsurface shader. I also created masks to determine what parts of the face and the beard hair would have paint on it, and what color the paint would be.
To achieve this, I stacked groups of materials based on the base texture with all the variation of hue, saturation, and levels needed by each skin and specular layer. Then I controlled the blending between groups: I used painted black and white masks mixed with some procedural textures. On top of that, I procedurally generated a micro-displacement map inside Maya to act as pores and other skin imperfections.
The teeth and eyes were completely hand-painted inside Substance Painter. I used the height information straight from Substance Painter to drive the displacement of the iris which - as small as it was - made a huge difference in the overall look of the character.
The most difficult aspect was to make a texture in a single UV tile that could hold up well in close-ups. We solved it by enhancing regular bitmap textures from Substance Painter with Maya's procedural textures driven by Substance Painter’s smart masks. It was also difficult to get the look of the paint on the beard right, we solved that by trial and error. In the end, I used a paint mask that controlled the hair thickness and specularity, and a color map.
Pixar RenderMan Art Challenge
The Pixar RenderMan Art Challenge was an amazing experience, in which I was able to showcase step by step my workflow. The goal was to create light, textures and shaders for a kitchen model provided by Pixar. The challenge gave me the opportunity to look at other artists’ approaches and exchange a lot of information along the way. There were many unbelievable entries and I feel very lucky to have won the challenge!
The modeler Christina Faraj created the objects for the kitchen with a certain degree of stylization. I wanted more than anything to respect the models and the kind of look the shapes ask for, without losing sight of the purpose of the challenge, which was to make it look photorealistic I also wanted the kitchen to look cozy and lived-in. I wanted to evoke the kind of feeling you would get when you entered your grandmother's kitchen.
There were more than a hundred assets to texture and, while I used some procedurals to create materials like the garlic and cereal, I wanted to give special attention to every asset in the scene as if it were a hero asset. I don't think I could have done that much texturing work in my spare time within the deadline without Substance Painter.
The way I did it was to first create some smart materials for repeating patterns like wood or rust, and then I began bringing batches of objects with similar textures (all the windows for example) to Substance Painter to refine them. The use of smart materials was really essential for getting the assets to about 70% of their final look. Then, I refined it further with object-specific information. I also ended up saving a lot of materials that I might use in other assets - or even in other projects.
Winning Pixar’s second RenderMan Art Challenge was unbelievable. I would never have dreamed this would happen not once, but twice in the same year!
The task, this time, was to take a photo and integrate the rolling teapot tank and girl in the scene. I created a digital set of what I wanted and built it in real life for the photo shoot. My idea: imagine what a texture and shading artist workspace would look like if it was pulled out of the computer. So I made it look like a real scale model being painted. The paints represent the shaders, the 3D grid the cutting board and there is even a little case for the hairs.
It was a great opportunity to further develop my workflow as the tank asset consisted of 22 UDIMs. Except for the decals, it was all textured procedurally, respecting what would be the real painting order of a resin model. That way, I could show different parts of the tank at different stages to give a sense of it still being a work in progress. The challenge here was to not make it look like a real metal tank, but rather like a plastic model painted to seem metallic.
And that’s also how the gumball machine image was born. The idea of imagining parts of my daily workflow into real-life scenarios stuck and I did this piece as a kind of love letter to Substance Painter. In this scenario, inserting a coin in the gumball machine would get you an awesome random material!
Tips & Tricks
I actually first got to know the whole Substance toolset through Substance Designer. Its node-based approach was very appealing and It was the first piece of Allegorithmic software I got my hands on. Of course, as a lover of procedural material creation, It was heaven!
I have to confess that for most of my everyday tasks I go straight to Substance Painter for texturing and directly save custom smart materials that I think would be useful in the future. That being said, I dream of the day I can find enough time to create my own library of fully customizable materials with Substance Designer. I also have yet to play with MDL material creation.
I think the most interesting part of Substance Painter is the ability to create a very complex material non-destructively, and then add the specifics that each asset requires.
I have a tip for Substance Painter users: group materials together and, even if there is only a color change between the same materials, try to create a mask. That way, you can respond faster to direction changes in the project and you can start building a huge library of reusable smart materials.
For instance, even if all I need to do is a simple red stripe in a grey wall, I would duplicate the wall layer material, change its color to red, and use a mask to draw the stripe instead of drawing directly into that layer’s color channel.
Doing things this way, especially for more complicated textures, might demand some time to get used to, but in the end it saves an incredible amount of time, especially in a fast-paced, ever-changing production environment.
Also, this is very basic, but while out-of-the-box smart masks and smart materials look amazing - and in fact it is really tempting to just drag them from the browser to your layer and call it a day - I’d recommend to spend some time adjusting them or even building them from scratch for your own needs. This will make your personal library grow, and will ensure that your asset is unique.
UDIMs are vital if you want to texture a hero prop or character that will appear close to the camera. The ability to instance layers, introduced in Substance Painter 2017.4 is really helpful to deal with multiple UDIMs that share the same material setup.
Now that the instancing and anchor point features are available, I use them all the time. Instancing is an absolute time-saver when dealing with complex objects with a lot of UDIMs. Anchors opened up a window of workflow possibilities. One of my favorite uses is to create a kind of “progressive” mask, where you can create your base mask, store it in an anchor point and then blur it. After that, you call back the stored mask in the anchor point, and blur that slightly. Finally, you call back the untouched original mask on top of it all, and put everything together. This works amazingly with masks for subsurface scattering, for example.
Earlier on in the process, I really try to draw inspiration from anything. I constantly search the web for photo references while I’m creating the look for an asset. I also try to pay close attention to how the great painters of the past conveyed believable materials and lighting in their paintings. My personal favorites are Caravaggio and Rembrandt. I also find Norman Rockwell's work an amazing source of inspiration. It has an incredibly pleasing style in terms of form, composition, and materials.
I try to watch as many movies as I can to see how lighting can work alongside the script to evoke emotion. Roger Deakins and Robert D. Yeoman are great examples of amazing cinematographers.
Of course, at least once a day, I find myself looking through Artstation, CGtalk, and ZbrushCentral where I can see what other artists are creating. The amount of amazing work posted daily is unbelievable, and there are so many incredible artists that mentioning just one or two would not do justice to the community!
Check out Fabio Rossi's work on ArtStation.