Pixar’s RenderMan Timeless Art Challenge: Meet Grand Prize Winner Jeremy Heintz
Today we chat with Jeremy Heintz, who recently participated in Pixar's RenderMan Timeless Art Challenge. His sullen representation of a mysterious castle convinced the jury, earning Jeremy 1st place! Proud sponsors of the contest, we were glad to see that he used Substance extensively on his scene, working in Substance Painter for texturing, and using Substance Source to find base materials. Read on to learn more about Jeremy's journey.
Hi Jeremy, thanks for taking the time for this interview. Could you introduce yourself to the community?
It's a pleasure, and thank you for the opportunity! I'm a CG artist from Salt Lake City, Utah, USA. I currently work as a software engineer at Micron/Intel, but art has always been my passion. I studied Computer Science at the University of Utah and was accepted into Pixar's Undergraduate Program (PUPs) where I was trained on their production pipeline. From there, I joined the Lighting team at DreamWorks Animation, where I worked on their proprietary lighting tools before joining the film Turbo. I’ve continued to explore CG ever since, constantly learning and experimenting with new ideas and technologies.
You recently won 1st place in Pixar’s Renderman Timeless Art Challenge! How do you feel, and did you expect this?
I was up in the mountains snowboarding when I received the email announcing the winners... I was in shock! I could hardly manage to focus on the ski slope for the rest of the day. I never expected to win, and I’m very humbled to have taken first place. There were so many talented artists participating that equally deserved the win. I’ve very happy with the way it turned out, it’s been a surreal experience for me.
Could you explain more about the concept of the challenge and why you decided to participate?
This year’s RenderMan challenge was very broad, which made it complex. They teamed up with Kitbash3D and SpeedTree to provide a set of assets for participants to use to create a scene. The theme was wide open; participants could create their own narrative to drive the shading and lighting of their work. The only guideline was that the submissions should be photo-real. I really enjoy creating environments so I knew this was up my alley. I’d also had a great experience with the previous RenderMan challenge, so there really wasn't any question about whether I'd participate. Regardless of the outcome, I saw it as an excellent opportunity to learn and push myself to try new things.
What was the visual style, and feeling, that you wanted to convey in your artwork?
About a week after this challenge was announced, my wife and I lost our companion very suddenly to a rare form of cancer, which inevitably set the tone for this challenge to a very dark place. I wanted the scene drowned with fog and to feel gloomy and depressed. However, since it took me a few months to set dress and shade all the assets, by the time I approached lighting I wanted it to feel more peaceful. It was strongly influenced by my stage of healing from my loss. I still wanted it to feel cold, however, I felt the warm sunset with some low sunlight helped brighten the tone a bit.
Could you tell us more about your use of Substance? How long have you been a user?
I first heard of Substance from a buddy who swore by it in his work. I had done some texture painting prior to that in other packages, but my primary workflow was to export a UV map to Photoshop, and create my textures from there. When I saw the versatility and speed with which you can create textures in Substance Painter, I was hooked! My first real project using Substance Painter was the last RenderMan challenge (Rolling Teapot), and it’s been an integral part of my workflow ever since. I was able to further explore the rest of the Substance toolset during the Timeless art challenge, where I relied heavily on Substance Source and Substance B2M. I couldn’t believe how much quicker I was able to iterate and produce final shaders for my scenes! I also used Substance Painter in the early stages for lookdev; progressively adding details as I needed to. I only wish I’d discovered Substance sooner.
Tell us more about your use of Substance on your entry for the challenge. How and where did you use Substance?
I used Substance for almost every single asset in my scene! All of the models I made for the environment were UV unwrapped and textured in Substance Painter. To save time, I typically start out with a PBR material from Substance Source and build up from there, blending other materials and adding model-specific details. I didn't have time to UV unwrap every piece of geometry on the castle, so for many of those assets, I turned to a more procedural approach. I would again find a starting material from Substance Source, then run it through Substance B2M to generate high-resolution tileable textures, which I could project using RenderMan's PxrRoundCube manifold. For larger assets, such as the staircase, I used UDIMs to simplify the shader setup.
Could you dive into one or multiple assets/materials you created for the scene, and detail your process?
Most of my assets in the scene followed the same workflow. After I’ve finalized the model by adding any irregularities or sculpted details, I make sure to unwrap the UVs as cleanly as I can. This is where I decide whether I’ll need to use UDIMs or not, depending on the proximity to the camera and overall detail needed.
Before I export to Substance Painter, I assign a dummy material to all the different texture sets I need in Maya, and name them appropriately. This mapping carries through to Substance Painter and helps organize the Substance Painter project. In this example, this whole fence section is only one texture set. After importing the FBX file into Substance Painter, I bake the mesh maps I need for use with my materials.
I typically start with a smart material or a PBR material from Substance Source, and for this rusted fence I started with MatFX Rust Weathering. After modifying some presets:
From here I needed to layer rust on top. I created a new Fill layer and assigned the Rust Fine material. For the mask, I started with a Light generator to target the upward-facing surfaces, then added a Dirt generator on top, and finally multiplied that with a grunge map.
I wanted to add some more bumpiness to the surface, so I created a Fill layer and targeted only the height channel. Using a mask, I added a slight height value. I did a similar thing with the roughness; creating a new fill layer targeting only the roughness channel paired with some masking.
For the patina effect, I created three different Fill layers with slightly different tones of teal/green and combined them to get initial color variation, then grouped them all together and applied another mask.
Here’s a test render with some snow:
Now, the key is variation. Since this is only one of many fence panels, I created a smart material from this original material for use on other objects and exported several different variations by simply modifying the masks. I believe I ended up with five variations that I randomly assigned to my scene.
I also feel that Mark Foreman’s Medieval World material collection on Substance Source fit my theme perfectly and I enjoyed using them throughout my scene. Using Substance Player, I was able to customize the material of the leaded window to fit any size or shape I needed, very cool!
Do you have any tips or tricks for the community?
In my opinion, where Substance Painter shines is in its layering system. Having the ability to work non-destructively using layers and masks provides huge flexibility to the artist. This also allows the use of custom smart materials to quickly shade collections of similar assets. For example, after creating a few concrete and stone smart materials, I was able to quickly apply them to several of the headstones and graveyard assets. I would then either tweak the existing layers within the smart material or add additional dirt or grunge layers to add variation.
I also tend to split out the material channels into layers. This approach helps to simplify the shader setup and allow easier troubleshooting and refinement. I will usually start with a base material that contains all the channels I need; however as I progress I will paint/work on each channel non-destructively in separate layers until finalized. I learned this approach early on after constantly troubleshooting why certain channels were getting modified or overwritten. It was usually a layer upstream with the channel enabled unintentionally.
I also recommend doing frequent test renders as you work to see how your asset looks with your lighting setup. I rarely wait until my materials are final before test rendering them; often these renders drive creative decisions in Substance Painter and can save you time down the pipeline. It can be very beneficial to load an accurate HDRI into the Substance Painter environment to get a better preview of your lighting as well.
Are you planning on participating in future RenderMan challenges, or contests in general?
There are so many challenges out there, I need to pick and choose which ones I go after, because they take a lot of energy. When I finish it's almost like a production deadline - I need some time to recover and refocus. However, I’ve loved the RenderMan challenges and will definitely participate in the next one of those. Again, regardless of the outcome they always present a different challenge and a unique opportunity to learn from other artists in the community.
Any final words?
Thanks for taking the time to chat and hold this interview! Follow me on ArtStation at jman.artstation.com.
Until next time!
All images courtesy of Jeremy Heintz