Delaney King

Delaney King

09-11-2022

00:24

A DM question (in a sweet thank you message- naww you guys β™‘) about color space. When do I use sRGB and when linear?

This is the sRGB curve- a gamma of 0.45. This is applied to colors you want drawn to your monitor. Linear color has a gamma of 1.

(Excuse the wonky phone pen drawing) So if a pixel on your texture has a value of 0.5 (mid grey), you don't get a value of 0.5 when you have sRGB checked on. You get a much lower value.

Textures that contain color information that goes to your screen directly usually needs the sRGB curve turned on. That is your 'color' map (called either diffuse or albedo depending on the type of shader). Everything that is data should be linear, because you want values as is.

In unity, your texture settings have a "type" which are presets for texture settings. You want color maps to have sRGB on, and off for roughness, shininess, metal, ao and normal maps. Set all normal maps to "normal" type so they are unpacked correctly.

In unreal you can see the texture settings have an sRGB checkbox. Check this off for everything except your main color map.

Not setting the sRGB is the main reason why your materials made in substance painter don't look right in unreal. That gamma curve is making your mid values darker, so your models will appear shinier, less metallic and darker because the AO is darker.

In blender your color space settings for images are more complex, because they use color spaces for film inputs as well. These are called LUTs (look up tables) and a a complex subject. Set sRGB for colour textures and for data set non-color.

When working with substance designer, you want to also check the maps you are creating are in the right color space. Color and color perception is actually an extremely complex science, so be thankful we basically have to worry about just a few settings in games. β™‘

Essentially remember this image (which I stole off the internet google search without digging to find the author -soz, I am tired) Always turn off sRGB for data. That's the trick!

I would ask @UnrealEngine and @unity to consider renaming the sRGB checkbox in your texture settings to "apply sRGB curve" and to have a hover over text for "use for color/diffuse/albedo textures, do not use for data or normal maps." Just for students to pick this up easier.



Follow us on Twitter

to be informed of the latest developments and updates!


You can easily use to @tivitikothread bot for create more readable thread!
Donate πŸ’²

You can keep this app free of charge by supporting 😊

for server charges...