- Home /
Normal maps with quality settings
How might you disable Normal maps if it detects the quality settings to be at the lowest.
I can easily do it on an individual object, but Im looking for a more global solution.
Answer by iwaldrop · Mar 27, 2013 at 08:43 PM
Have your bump-map shader fallback to a diffuse shader at a particular LOD cutoff. Then set the Maximum LOD Level in the quality settings. You can access that setting through script with QualitySettings.maximumLODLevel. You might need to do a little sleuthing to find out what the LOD level of the built-in normal mapped shader is, but that's how you do it. :)
So in the shader LOD is set to 400 and its fallback is specular, In the "Fastest" quality setting I dont want the Normal map to show up at all. In the quality settings, the maximumlod is 0 and the highest it can go up to is 7. Im not sure where to go from here.
Sorry! I gave you a bit of incorrect info there!
Use Shader.global$$anonymous$$aximumLOD to set the LOD. You set the LOD to something lower than the fallback number in the shader. See this page for more info.
It is strange, however, that the fallback of a bump shader is to spec. This page indicates otherwise. But if it really is the case that its falling back to spec, then I'd download the standard shader pack, change the fallback, and use that shader ins$$anonymous$$d.
got it:) Shader.global$$anonymous$$aximumLOD = 100(anything under the shader LOD);
I'm trying to acheive the same thing with Unity 5 and feel like this idea doesn't work anymore.
In Unity 5 i also use the Standard shader for normal maps. So is there still a maximumLODLevel for normals?
How else can i globally disable normal maps for a specific quality level in Unity 5?
Your answer
Follow this Question
Related Questions
Auto Adjust Quality Settings 1 Answer
Quality settings always switch the "fastest" 0 Answers
Can't apply a normal map to imported model 2 Answers
Why can't I change the anisotropic filter at runtime? 0 Answers
Disable VSync in WebGL build 0 Answers