RGB Tint/Texture Mask

some games and engines are using rgb/rgby tint/texture mask to create a “customize” system for players change character’s colors and after be storaged in a server or game data

i just realized that the albedo is gray, the models got normal map, spec, emission n metalic/metalness texture

unreal and unity got tutorial in docs and wikis, a game example of use this is warframe (evolution engine, peoples are saying dat is c++)

is it just a shader with script to modify the shader? its working on armory? how it works on armory3d?

i don’t know if i can post links but, here is the example and a tutorial video “how it works on the evolution engine (warframe)”, i suppose use 2 textures for it? the rgb texture and a alpha texture (last video minutes)?:

  • so the color changer will change each rgby color

What you need to understand is that those mask textures are nothing special really. They can be done in all engines that feature modern shaders. They are nothing more than 3 (or 4 in case of rgb+alpha) grayscale images pushed together into one file. Probably to safe some disk/memory space.

For example:

If we look at the channels in photoshop we get this:
so every channel has a different black/white image that leads to the end result looking as it does. With an extra alpha channel nothing changes really other than we have a 4th channel that we can use for another grayscale mask.

If we apply some shader magic in blender:

the endresult rendered on a simple plane looks like this:

If you look at the shader node tree you will realize that colors can be changed however you see fit.

To expose the colors to the user you definitely need a script (nodes) and I don’t think there is a color picker for the UI (yet) so you most definitely need to create something from scratch.

You can go really crazy with those texture masks and you can have not only one but as many as you like. You just load in the texture and then split up the channels and use them in your shader.

I hope this helps.

1 Like