← All ideas
  • Published 17 Jun 2020

plugging a texture into normal should auto switch to non-colour data

as i go in to change a normal texture to non-color data for the umpteenth time, it occurs to me that this is something that should be less cumbersome.

ideally, as soon as its output runs into a normal socket, it should auto switch to non-color data from srgb. failing that maybe give a hotkey to cycle colour spaces on texture inputs without having to dig into their properties.

also brings me to a further consideration, if you want to use the same texture in several different contexts (ie colorspace transforms, uv mappings) you basically have to make separate image texture nodes for each. i think unity/unreal has a better data flow paradigm where you start with just a texture file input, then you can run that into multiple samplers with different mappings, and potentially also colour space transformations.

97.6%

Development Status: Open

Upvote 40 Downvote 1
stevemillerband
17 Jun 2020

7 Comments

TheWizardLord

I agree with syborg64, the auto changing of settings could get confusing if you accidentally hook up a node to a normal input and it changes setting on you. Instead, I agree the best implementation is a node that deals with colour space transformations

2
fasi.eijaz

* @TheWizardLord * "Check and Solve for colorspace" option in the shader editor could also prove to be a viable solution. This way one can setup all the materials without worrying about the colorspace conversion and check and automatically solve for non color data. One downside is that the correct previewing and tweaking cant be done without setting up the whole material (for that we have to manually convert as usual). But atleast it can prompt us if we accidentally forgot to change the colorspace in any of our materials. Another downside is that one image source can't be used for multiple color space uses.

syborg64

it's pretty funny that the last part of your post links back to my proposal for datablocks as IO. However I don't think it should automatically change a setting like that, it would set something out of your control. That's never good

1
isochrom1

Once in a while you just want to stay with sRGB just because it looks better ;-) Not all normal maps are perfect.

stevemillerband Author

* @isochrom1 * not entirely sure the default behaviour should favour a broken normal map workflow ;-) either way, i tried to address feedback that people don't want anything changed without user intent with my add-on below. love it if something similar could get rolled into node wrangler.

stevemillerband Author

so i went ahead and made a proof of concept addon that creates a 1 click operator to link the active node to the principled bsdf normal socket, adding a nicely placed normal map node between, and converting the colorspace for images to non-color.

the operator is in the node menu as "node normal operator". it should also register a shortcut ALT+N, although this seems to work on 2.82 but not 2.83? either way you can set the shortcut in the menu to whatever you want if it doesn't auto set.

i feel like it'll at least save me some headache going forwards!

pasteall.org/ebtA

PS i saw node wrangler has a principled texture setup, although it almost feels like overkill for the simple cases.

robert

Point is, any non color map or normal should be set to linear. The pbr setup workflow exist any many other apps, incl. costumization. Node wrangel seem to stop working in 3.1 in that case.