0
\$\begingroup\$

Is there a way to have a physically based material shader look like an unlit shader?

Note: this question is not unity specific. I am trying to understand in general if it is possible to maybe(?) set the physically based material to a bunch of 0s and black/white maps to "zero it" to unlit.

\$\endgroup\$
  • \$\begingroup\$ Why would you want to do such a thing? Blitting a texture to the screen with no lighting calculations is blazingly fast. Doing extra computation for no visible impact is the definition of waste. If your rendering pipeline requires you to render your unlit content with a lit shader, I'd suggest it would be more efficient and more controllable to just change that pipeline. \$\endgroup\$ – DMGregory Nov 29 '19 at 22:39
  • \$\begingroup\$ i don't have control over materials/shaders in this case \$\endgroup\$ – ina Nov 30 '19 at 3:16
1
\$\begingroup\$

Make your albedo 100% black, so that no light reflects from it diffusely.

Use maximum roughness to minimize the effect of specular highlights. Or, if your material has a specular multiplier exposed, set that to zero.

Place your surface texture into the emissive channel, and try to adjust the intensity value to match the exposure settings used by the camera.

This way, any light received from the object is coming 100% from your texture, not from reflected light.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.