GregBlast: I’m definitely in the process of finalizing the assets and making the material user friendly, so you can get your hands on it very quickly. Don’t worry, the hardest part is over! The biggest problem I had with making this shader is getting the multiple shader features to behave nicely with each other in a togglable fashion. The Plutonium and Iridium presets are effectively 5 unique shaders in one system, but even they are not using all the features this system has to offer. It’s important to not have any loose ends, and to be as optimized as possible for game performance. If you want to make something like this, I’d suggest working on a simpler version of the shader before moving on to the complex toggling shown here.
Sanjshah: At the moment, the gaps are determined by a texture mask, and it’s intended to be a very sharp black and white mask. For the sake of performance, it’s always best to use assets that closely match your desired results because that will be less work the shader will have to perform in order to achieve the results you want in realtime. So I suggest making your own mask that contains the grout gap sizes you’re looking for. But per your request, I’ve added an Anti-Aliased Texture Mask option that can takes in a blurrier mask asset and allows you to set the cutoff value to whatever you want! Just know that using this feature adds 6 extra instructions to the overall shader, and requires a larger, blurrier mask in order to hard-calculate the rounded edge. While it looks great, it’s not recommended for performance.
I also added some more metallic settings, options for dual-roughness, and the ability to use tessellated displacement maps. Tessellation is extremely difficult for hardware to render, so I recommend using it only for very large surfaces with soft displacement. I also added some advanced image adjustment features to let you control hue shift, saturation, contrast, and rotation of the textures entirely within the shader, but use of this feature is extremely inefficient. For game developers, you can use these settings to improve your workflow while staying within the Unreal Engine all the time, without the need to link to an external application like Photoshop to keep exporting/reimporting assets. After getting the results you want, you can then go into Photoshop and make the same adjustments, reimport the new assets, and turn off the adjustments feature from the final build of the shader to speed up your polish and iteration time. I also managed to find a cheap math technique that blends the grout by falloff to mimic the effects of grout occlusion with only 10 extra pixel shader instructions, and it’s fully compatible with all the parallax and normal mapping options.
This shader is in its final stages of completion! I plan on adding some more image adjustment features throughout the shader network to improve iteration at all levels, and I will be wiring more stops in the features to make the list less confusing (ideally, you should not be able to see the plethora of glass options if you’re not using the glass feature at all). Once that’s done, then I’ll go ahead and call the whole thing done for now. I know some people are anxious to use it, and I want to send it to Epic within a week! I’m also in the process of writing a basic notepad guide to help make your own assets from scratch. There’s so much that I want to do with this system: I really don’t want to sell an unfinished product to anyone.