Hey Folks! Thought i'd share some progress on some more Shader Graph Add-Ons that i've been working on to add to the Open Project. Im currently working off of the 'art-assets' branch. Work is not pushed yet; but will when its ready. I'll start with Detail Mask Tinting. This is the process of using a detail mask texture that stores 'area data' into different color channels. The end result would be to have a shader that allows tinting of parts of the surface. A typical Detail Mask looks like this; with the left being the mask and the right being how it ends up being applied to the asset. The process is not too different from PBR Texture creation where each channel stores data on Metallic, Smoothness etc values. Typically; I usually set up a Detail Mask with 3 tinted area variations R - Main Detail G - Secondary Detail B - Minor Detail A - Empty I usually keep the Alpha empty so that it can be used as a 'mask' for the base Albedo Texture. This way; there can be parts of the surface that are not tinted and retain their colors and details. A real-world example of this would be a t-shirt that has a logo printed on the chest. The base T-shirt would be stored in the Red channel but the logo would be in the Alpha channel; meaning that the t-shirt could be tinted to any color but the logo retains the same visual. In the Open Project; this can be used for manual customization and variance of certain game assets. For the Pig And Bunny, this can be used to create different clothing styles. Imagine a UI Color Picker for choosing different outfit color schemes; but without the extra need of having to create many different varying Albedo texture maps with slightly different color tints. Lets take a look at the Pig first: Three areas for clothing to be tinted! R - Apron G - Shirt B - Head Band This would still allow for the core recognizable details of the pig to be retained; such as the skin and face. To begin with; I created the Detail Mask (manually) in Photoshop; and this is based off the Pig's base Albedo Texture: Notice that big Alpha area? Thats mostly the pig's skin and other elements of clothing we don't want to tint (Such as shoes and trousers). Now that the Detail Mask has been created; time to implement it in Shader Graph! I noticed that the Toon Shader has a Sub Graph that has an Albedo (Texture) and Tint (Vector 4) already being input into it. Not to disturb this workflow; I wanted to make the Detail Mask Tint SubGraph before the Toon Shading SubGraph and it just feeds the result into that process. Makes it nice and modular. So I created the Detail Mask Tint SubGraph: Its quite simple; just splits the Detail Mask into different single-color channels, multiplies the tint to them and then recombines them. Admittedly, im not too happy about the multiply-add-multiply structure as it looks a bit messy so I will probably convert this to a Custom Function for simplicity and probably better performance. And at the end, the Blend Node uses the Detail Mask's Alpha as the Opacity (As mentioned before; to retain non-tinted details from the Albedo Texture) before being output as a Vector 4 (RGBA) After making a new variation of the Toon Shader Graph (named 'Toon_DetailMaskTint') and adding this Sub Graph; the root of this new Shader looks like this! And the results allow for a variety of customizations! Ive also set up the Detail Mask for the Bunny: For the Enemy Orgres; I thought it would be fitting to follow how 'Legend Of Zelda' handles enemy variants with most-surface color changes. But I left some familiar stand-out elements such as eyes and teeth untinted: And thats my progress so far on Detail Mask Tinting! I do have further plans: - Custom Shader GUI for the Material Inspector (The long list of properties is a bit messy) - Custom Function to simplify the tinting process in the Detail Mask Tint Sub-Graph - Make Detail Masks for the vegetation - Some kind of 'Color Scheme' Scriptable Object to store the color variations and then assign them to the Material instance (This way, we can have one Material for an Ogre but then multiple Color Scheme assets that can be swapped out. Juggling multiple Materials is not fun!) One performance down-sided is it adds one extra texture sample to the shader. But I figured that we can afford this hit as the Toon-style lends itself nicely to vibrant colors and not too many texture samples are already in use (Just Albedo and Specular Map). If this project was targetting mobile id perhaps look into baking the Detail Mask into the Vertex Colors or perhaps merging the Detail mask with the Albedo in the Alpha Channel (And use Float Range for the different Detail Areas). Ill write up a post about the Random Tint Variance next.