I found inspiration after a little tour of textures.com where I came across an image of tiles that I really liked. It’s been in my head for a while to make this type of material and it was a good opportunity to explore new techniques.
With each new project, I want to tell a new story. Good storytelling can take your projects further in realism, whether for materials, assets, or scenes.
Here are the main references that helped me during this project. I always use PureRef which is very convenient and easy to use.
I always try to take references from other artists who already have made the material I want to make. It allows me to see how they managed to tackle certain details in their textures and it makes me wonder about the best way to do it.
Before presenting the different parts of the graph, I wanted to remind you that this material was made for the only purpose of entering my portfolio. Some things can therefore be optimized without losing too much in quality. You do not work in the same way a material that will serve as a presentation as a material that will end up in production.
When I create my materials, I try to make them as flexible as possible, so that with just a few parameters I can have many variations and different results. Making a list of parameters that you want to integrate into your material before starting it can be a good idea.
I started with the shape of my tiles which is quite simple. I then plugged it into a Flood Fill to add variation in the height and positioning of my tiles with a Flood Fill To Random Grayscale and a Flood Fill To Gradient.
What is great with this setup is that you can easily change the shape of the tiles if you wish and the graph will remain functional.
For the edge wear, I made use of the gaps and plugged them into 2 Slope Blur for the worn effect. I then reversed it to create a mask that allowed me to remove paint from the edges of the tiles.
The selection of tiles on which the effect is applied was made with a Flood Fill To Random Grayscale which was then plugged into a Histogram Scan. By using the slider for the position, I can increase or decrease the number of tiles with the effect.
The cracks and tiles removed worked the same way, Flood Fill To Random Grayscale which was then plugged into a Histogram Scan.
For the cracks, I used the amazing node made by Matthias Schmidt – that I wanted to try for a long time.
There are a lot of parameters to play with and the result is really great.
The damaged edges were made with a Multi-Directional Warp Grayscale connected to a Cloud. I then added surface details with grunge to add relief.
For the joints, I just added the gaps to the height. The paint details are just small chips done with a Grunge Spots Dirty.
Once the tiles were made, I moved onto the cement that appears beneath removed tiles.
In the middle of each tile location, I added a layer of plaster which normally sticks tiles to the ground.
For the mud and clumping in the corners of the removed tiles, I took the mask from my removed tiles.
The pebbles come from a generator that I created not long ago with parameters that allow me to have rapid variations by plugging the node into an Atlas Scatter.
If you want to try to reproduce my material, I put this node for free in my store. Here is the link if you want to grab it.
I hope it will be useful to you!
When starting the albedo, I placed the different colors that make up my material starting with my highest layer (white height) towards the lowest layer (black height). I never put a solid color directly in my albedo.
What is interesting to the eye is to have lots of micro variations. I take a Grunge or Noise, I warp it with the final height as a mask if necessary, and I plug it into a Gradient Map.
When you pick a gradient, I advise you to do it on albedos of scan materials if possible. The values are correct because (in most cases) you don’t have any light information. Think about it if you do it with images taken in the sun or in front of a lamp.
To make color variations for the tiles or pebbles, I used a Flood Fill To Random Grayscale that I plugged into a Gradient Map. This produces a great diversity of colors without much effort.
For more storytelling, I added shoe prints from Quixel Bridge with different levels of gray in the mask, which adds to the used effect that we want.
When I had enough variations and I was happy with my basic albedo, I started the phase that unites and creates cohesion across the colors.
First of all, to add a few details and variations, I used Joshua Lynch’s tips which consist of taking a Gradient Map and taking the buttons at the top of the graph window as the color. Be careful when combining it with the albedo not to put too high values. It must remain light, no more than 0.2 in opacity.
After that, I used the Get Slope node to add fine dark detail and added a Dirt node to add a dirty look to my material. It also helps to even out the values a bit and homogenizes the whole thing.
At this stage, the albedo was lacking detail and was still “flat”. To correct this, I first mixed Curvature and Curvature Smooth in overlay mode to apply them in the albedo.
This will give me a good level of detail. I then took a Sharpen and plugged a Highpass Color into a Blend in Add Sub mode with low opacity, which increased the albedo’s contrast and valued a bit.
For the roughness, it’s quite similar to the albedo with grunge to have several levels of gray.
For my tiles, I used a Flood Fill To Random Grayscale to add variations of gray for each tile.
Using the Advanced Normals To Roughness node at the end of my roughness really helps me. It rectifies your roughness based on your normal and height.
It’s always better to have parts that stand out a little, so that we see that there are variations and different layers that coexist.
Rendering – Marmoset Toolbag 4
My renderings are always done in Marmoset Toolbag 4. I have an introductory scene with all the parameters I use already set, so I can quickly see what my materials look like in Marmoset.
When I start to have a solid base with my material, I take time to make more precise adjustments so that each scene is unique and with its own atmosphere. I also adjust the intensity, placement and color of my lights.
To add storytelling, I like to take objects from Quixel Bridge and incorporate them into my scene.
Be careful not to put too much, remember that you must highlight your material and not the objects. With this project, I wanted to create a small room and have an abandoned effect with the ropes lying on the ground and the old crate.
The addition of the door also helps to have a more subdued light with interesting shadow areas. Finally, I made meshes of Blender tiles to put them on my floor, as if they had been removed.
Being a big fan of Derk Elshof’s work, I used his technique to capture the scale of the material with a mannequin.
I took a pack of human scans from 3D Scan Store and slipped one into my scene. If you use this technique, don’t forget to check the ID map in your Marmoset rendering settings, you will need it in Photoshop.
Small tips, be careful when you import the maps of your material in Marmoset to uncheck the “sRGB Color Space” of your ambient occlusion by going to the settings wheel. If you don’t, your ambient occlusion will be too dark and look weird.
For the output, I used 3840 x 2160 and in PNG format.
The camera settings are pretty basic. The field of vision is 20° (or 68mm) and the Tone Mapping is in HEJL which is a little less contrasty than ACES.
I prefer to keep a softer result and do all my editing afterward in photoshop. I also tweaked the Sharpen and the Grain a bit without adding too much. I use Ray Tracing to get better lighting.
Rendering – Photoshop
Once the Marmoset renders are done, I import them into photoshop to improve them. I adjust the curves, the contrast and the light of my rendering and highlight the center of the image by increasing the light a little more with a mask. For the character’s feet, I get the ID map, select the color of the feet, and then fill the selection with gray.
To gain some detail and add some more realism, I duplicate my render and turn it into a high pass (Filter, Other, High Pass) with a value of 4. I then put the layer in overlay mode and adjust its opacity (often between 5% and 30%).
When I’m happy with my settings, I move on to the final step, which is to add chromatic aberration, blur, and noise. For the chromatic aberration, I use Romain Jouandeau’s awesome script which allows you to add it in one click super easily. I then add the diaphragm blur and noise to the finish.
When you make your materials in Substance Designer, try new things and have a fresh eye on how you work.
It’s easy to get stuck with certain uses of the nodes you have, keep in mind that a node can be used in many different ways. Above all, have fun making your materials, that’s the main thing!
Many thanks to my friends from the “3D GO HARD” discord server for their feedback and help on this project.
I hope you learned new things by reading this article!
If you have any questions, feel free to contact me on any of my social media, I will be happy to help you!