Posts

Showing posts with the label lighting

Custom lighting models

Don't think I want to cover writing actual custom lighting models just yet. However, here is how you might implement the Lambert lighting model within your shader. Blinn is done below, with a brief explanation. Essentially they are like mini functions. They must begin with the word "Lighting" and match the name of the lighting model that you specify in the #pragma surface surf ______ Lambert works by taking the dot product of the surface normal and light direction vectors. Where the light is aligned to the surface normal, the surface will seem brighter. As it gets closer to 90degrees/perpendicular the surface will be darker. This value NdotL is multiplied by the surface colour (albedo) ,the colour of any lights (_LightColor0, a built in variable) and the attenuation, which is how intense the light is.  Shader "Dave/customLightingmodel" {     Properties{         _Color("Color",color) = (1,1,1,1)     }     Sub...

lighting changes on scene switch

 When scene switching the lighting might change, going suddenly dark - or it might start off correct until you switch back to the scene - for me this has been down to the use of the skybox as an ambient source-  switching it to a fixed colour (or something that isn't the default skybox) has remedied the situation.  (much) Older posts have indicated that turning off continuous/auto light baking can help too, although at time of writing, Unity 2021 has no such option!