I am just getting into lighting with Unity 3d and right now have a function that progressively deepens the lighting of my scene here. I have done this via Render Settings and have tried 3 different approaches with lighting, I have received the same result with all of them:
RenderSettings.ambientLight = Color.Lerp (RenderSettings.ambientLight, colors2 [currentColor], changeTime * Time.deltaTime);
RenderSettings.ambientSkyColor = Color.Lerp (RenderSettings.ambientSkyColor, colors [currentColor], changeTime * Time.deltaTime);
RenderSettings.ambientGroundColor = Color.Lerp (RenderSettings.ambientGroundColor, colors2[currentColor], changeTime*Time.deltaTime);
I am not entirely understanding the difference between all of these and am having a problem lighting the world - when the color changes, the color of the sky AND the ground (which has the same material as other game object blocks that are sitting on top of it) change in accordance with the lighting. I.e my white ground goes orange.
The problem is that the blocks on top of my ground (same material with standard shader) are not affected/lit to the same degree. They remain generally white/unaffected while my ground is all the way orange. No matter if I'm changing ambientGroundColor or SkyColor this happens.
How can I light the whole scene evenly? What is going wrong here?
Problem: