I’m trying to use a Texture Paint image as a factor for mixing shaders, after first passing it through a Color Ramp node. I expected that a painted color with an HSV value of 0.2 would map to the 0.2 position on the Color Ramp node, but instead it seems to map to somewhere around the 0.03 position. Other mappings also have this weird, unpredictable offset.
What is the logic here, so I can configure all the involved Color Ramp nodes correctly? Thanks!
Short version- your texture and your color ramp are in different color spaces.
Long version- there’s a thread that can explain in great detail what I just said:
HSV or RGB are three values… What’s an HSV value of 0.2 ??
If you just connect the color onto the Fac input from the ColorRamp node this will be converted into a grey value… this might be different by changing the Color Mode (RGB, HSV, HSL) of the ColorRamp node (… or not…never used this). If you wanna match a specific value of H, S or V with the colorramp you may want to use the Converter → Separarte HSV node to choose one.
So with some research it may be not so weird and unpredictable…
Yes of course… i was a bit unprecise… the interpolation between the different colorstops is different according to the colorspace chosen… what i meant was: the convertion from HSV → grey or RGB → grey may be a little different (?) … of course you can convert between colorspaces and so this should be the same but maybe there are different considerations between RGB and HSV how to convert to grey according to visual perception ?? (Seems to be a haveb to do a little research too … but color theory is not only one beast… there are dragons…)
Well the color sockets are always RGB, so HSV setups also output RGB values and those very likely get mapped the same as the the RGB to BW node does via channelbased weights to get the luminance value.