So I’m giving a quick try on Unity before I port my project over to it and I’m a bit confused with the new illumination and shading model.
First of all, what is the standard shader? Is it actually a single shader code that handles any kind of configuration or depending on the configuration you choose in the editor (i.e. diffuse, normal and specular) it chooses the correct shader for you? If the first, what’s the performance penality behind it? Should I use the legacy shader or the standard shader?
I’m also having trouble in disabing global illumination, how do I do that, switch to the most basic forward rendering? I don’t even know if it’s enabled actually! I’m really confused on it. Plus is the baking now happing in the background no matter if we’re using GI or not?
Thanks in advanced.
Window > Lighting
- 4.x normal settings are disabling Precomputed Realtime GI, Baked GI, and changing Ambient Source to Color. This gives you the regular direct lighting look from 4.x.
- 4.x lightmapping can be done like this - disable Precomputed Realtime GI, enable Baked GI, Ambient Source to Color, make geometry Static, and change all of your individual lights to Baked. View your lightmaps in the Lighting window.
You can also use the Precomputed GI ontop of the old lightmapping style.
Forward/Deferred isn’t related to GI. It can be changed in Edit > Project Settings > Player as usual. Deferred/Linear color are the recommended settings for a desktop game.
As far as I know the standard shader will strip out all of the stuff you don’t use.
4 Likes
To elaborate on Stardog’s response, yes Link2012 you are correct that with the Standard Shader there is no performance penalty. If you only use for example an albedo and specular map in the Standard Shader, at runtime there will not be any extra memory used for the other unused map slots.