Yuting Chen showed us how she designed the forest ground material, focusing on the details of rocks, dirt, leaves, and roots, and showing how useful it can be to follow others' tips.
Introduction
Hey everyone, my name is Yuting. I'm currently working from home as an Environment Artist, also looking for a full-time role at a game studio. I have always been keen on video games and art since I was a kid. But I didn't view them as a career option until I signed up for an offline school in Osaka, 2019.
During this period, I learned the basics of modeling using Maya and discovered other software like Unreal Engine. After graduating, I spent time exploring disciplines that might fit me best, from character art, animation, VFX, to environment art.
Following my career decision, I then realized that my skill set was far from adequate for industry standards, so I further developed my skills through a few online workshops. These not only gave me the knowledge I needed but also the opportunities to connect with professionals.
Inspiration
I was working on my personal project featuring a forest that needs a series of terrain materials. I took it as an amazing opportunity to train my Substance 3D Designer skills. Apart from ArtStation, I also gathered references on Unsplash, as it had tons of high-resolution photos I could zoom in and observe very closely, which greatly helped me during the making of the material.
At this stage, I wrapped up the references and decided on the elements I'd like to include in my material: dirt, gravel, rocks, pine needles, leaves, and roots.
Material Creation Process
This GIF from my own ArtStation page indicates the rundown of my material WIP, from dirt, noise, small rocks, pine needles, scanned data, big rocks, to roots.
Dirt and Surface Noise
I blended two Noise Maps with larger and smaller shapes as the base, and gradually added smaller shapes by adding more Grunge Maps. There are some nodes I used quite often:
- Blend is essential to add layers of detail. Playing around with the opacity and blending mode can greatly change the result. Note that the opacity input of Blend controls where to blend the foreground/background. This is useful to achieve an organic look.
- Levels to correct the grayscale value.
- Highpass Grayscale to even the height.
- Quantize Grayscale to define the shape. This node is very great for terrace terrace-looking shape. Non-Uniform Blur is basically a mask-driven blur.
- Non-Uniform Directional Warp can warp the shape based on your Input Map.
- Slop Blur is like the Blur Slope filter in Substance 3D Painter, good for a stylized look, smearing out, leakage, or sculpted effect, based on the blending mode.
- When I was happy with the base, I proceeded to add noise to the dirt. With the Big, Medium, Small principle in mind, I added from the largest noise to the smallest noise.
Rocks
To stack details on top of my dirt, I used Tile Generator, Distance, and Edge Detect as a base. To control the amount of rocks, I used Flood Fill, Flood Fill to Random Grayscale, and Histogram Scan. To sculpt the rock's shape, I blended Cells 1 and several Flood Fill to Gradient with different random seeds with Min(Darken) blending mode to achieve the result.
Pine Needles
I used Shape as a start, using Directional Warp with different Noise Maps to get many grass variations. Then I used Tile Sampler, which is like an advanced version of Tile Generator, but with more inputs to control the distribution. Here, I added a Perlin Noise as Scale Map, Displacement Map, and Mask Map. There are way more of these usages, and if you're interested, feel free to check this tutorial by Johnny Nodes:
Scanned Data
I downloaded Atlas from Quixel Bridge. To scatter them, I used Atlas Scatter, which is very similar to Tile Sampler, but specifically for an external atlas. I imported albedo, normal, roughness, height, and opacity maps for each atlas set. Note that the normal maps from Bridge are in OpenGL format.
However, I used DirectX for this project, so I converted the format with Normal Invert(Invert Green: True). I imported two sets of scanned leaves, so I used Material Height Blend to blend them. The height of Quixel Atlas can sometimes be quite low, so I used Levels to correct the value.
Roots
To my surprise, the base of the roots is actually quite similar to Rocks. I used Tile Generator, Distance, and Edge Detect as a base. Warp, Directional Warp, and Vector Morph are great for deformation. I sculpted the edges using Slop Blur, and to add wood grains along the roots, I used Vector Warp, Non-Uniform Directional Warp, and Directional Warp.
At first, my roots didn't look natural, and Javier Perez told me that instead of trying to get a lot of variation with just one set of roots, it would be better to break it up into large, medium, and small roots and layer them on top of each other.
Taking this further, my approach to creating top roots is different from other roots, more like the way of creating pine needles. I used Multi-directional Warp and Moisture Noise to achieve the rotten look. To prevent weird intersections between roots, I used Non-Uniform Blur before blending them.
Substance 3D Designer Beginner Tips
Here are a few tips I learned throughout the process: In building the foundation of the material, always start with building height. I used the Normal and BaseMaterial nodes to quickly preview the height in the 3D viewport. You can also use the shortcut: Shift+D to disable nodes temporarily to see the differences. I also jot down comments around the nodes I framed.
Another useful tip is to save nodes in your library. So next time you can paste them to your new graph and make adjustments.
Rendering and Presentation
To better sell the idea that this material is made for the environment, I render the material with a displaced plane rather than a simple sphere/cylinder render. My mentor, Ezequiel Delaney, was kind enough to give me the render scene in Marmoset Toolbag.
Based on it, I tweaked the camera settings, Local Lights, and Sky Lights. Key camera parameters I tweaked: Tone mapping ACES, Exposure, Clarity, Sharpen, Depth of field, Contrast, Bloom, and Vignette.
When setting up render scenes, I always think of the context or stories of the material, and the focal point I want to emphasize to help me choose the right HDRIs and colors of lights, and balance out everything. This process is non-linear and needs a lot of back and forth and experiments. It might be tiring after a long time working on this, so I'd take a break and ask for feedback to prevent myself from being trapped in the blind spot.
Aside from the material and lighting, I also put plant models around the camera to cast shadows on the ground, which helped me tell the story of the material as well.
Rendering wasn't the final step. Next, I post-processed the images in Photoshop. I learned a lot from Nicholas Clark and Pablo Blanes's posts about material presentation and also from Karthik Srinivasan’s post regarding how to show breakdowns of the material.
Last, I cropped a few images from my renders as thumbnails, putting them aside from those amazing pieces on ArtStation with tons of clicks, testing which one stood out the most to me. This step seems unnecessary, but actually matters, as a good thumbnail is always the key to getting more traffic.
Conclusion
I can't stress enough how grateful I am towards my mentor, Ezequiel Delaney, and Javier Perez, who gave me loads of valuable tips and tricks to improve my material, even to the point where I felt a bit exhausted. In retrospect, I'm glad that I didn't give in. The learning curve of Substance 3D Designer is quite steep, so finding a good community can alleviate the hardship, making your learning journey much easier. I highly recommend checking out the Discord server, Future Material Artists, as there are lots of resources and generous professionals willing to help.
I'd like to share a few useful tools to help me a lot when showcasing my Substance Material. I use Gif_Maker_for_SubstanceDesigner to make GIFs, Free Texture Breakdown Maker, and Substance 3D Designer to quickly make my texture breakdowns. Make sure to support the original authors if you like their tools!
I'm always happy for feedback and connection, so please feel free to hit me up on LinkedIn. Or if you're also looking for a 3D Artist Community to grow together, you can join my Discord community named Lazy Poly.