The material functions allow for the user to mask out individual colours of a texture or some colour value and manipulate that mask to your needs, traditionally you could extrapolate the red, green, blue and alpha channel of a texture, this pack takes a step further!
The pack allows for extraction additionally yellow, magenta and cyan coloured pixels of a texture, and as well as isolating a very specific colour which in turn allows for more customizability, modularity and less head aches down the road.
Technical Details
Overview:
The same result as this pack offers can be achieved with the IF node albeit with a performance detriment as this pack uses pure arithmetic.
The reason why the the IF node is slow is that it creates a branch which is somewhat fine for the CPU as they are able to predict branching, however due to architectural differences the GPU literally is not capable of doing so, which causes a major slowdown as some cores do one set of instruction, some do another, and/or some do none which is horrible, which is why this approach is a lot better as it relies on mathematics which is what GPUs and CPUs are really good at.
Features:
- Absolutely performant! The functions do not use “if” nodes.
- Isolate the red, green, blue, yellow, magenta, cyan and alpha from a texture object or colour value.
- Isolate only red, or green, or blue, or yellow, or magenta, or cyan from a texture or colour value.
- Isolate any colour from a texture or colour value.
Number of Unique Static Meshes: 1
Number of Unique Materials and Material Instances: 7
Number of Unique Material Functions: 18
Number of Textures: 4
Texture Resolutions:
- 2 – 128×128
- 1 – 256×256
- 1 – 4096×4096
NOTE: All textures, materials and meshes are only made to give example and showcase the nodes of this asset pack.
This product supports Nanite for Unreal Engine 5.0+
Original_Link: https://www.unrealengine.com/marketplace/en-US/product/multi-color-masking