- Home /
Why is fading not smooth?
I am trying to create my own basic Day/night cycle script. I am having issues with the fading not being smooth. The Unity script reference says you fade from a to b by t, but I'm not sure what that really means t is doing What should t be and how does it work?
#pragma strict
var slider : float;
var speed : int;
var theTime : int;
var theSun : GameObject;
var morningLight : Color;
var morningFog : Color;
var midayLight : Color;
var midayFog : Color;
var duskLight : Color;
var duskFog : Color;
var nightLight : Color;
var nightFog : Color;
var Tod : int;
function OnGUI ()
{
if(slider >= 360.0)
{
slider = 0;
}
slider = slider+Time.deltaTime;
slider = GUI.HorizontalSlider(Rect(20,20,200,30), slider, 0,360);
Tod = (slider/360) * 24;
if(slider >= 0 && slider < 45)
{
RenderSettings.ambientLight = Color.Lerp (nightLight, morningLight, (Tod/2)+.5);
RenderSettings.fogColor = Color.Lerp (nightFog, morningFog, (Tod/2));
}
if(slider >= 45 && slider < 135)
{
Debug.Log("Changetomiday");
RenderSettings.ambientLight = Color.Lerp (morningLight, midayLight, (Tod/2)-(1.5));
RenderSettings.fogColor = Color.Lerp (morningFog,midayFog, (Tod/2)-(2));
}
if(slider >= 135 && slider < 180)
{
RenderSettings.ambientLight = Color.Lerp (midayLight, duskLight, (slider/2)-(2));
RenderSettings.fogColor = Color.Lerp (midayFog, duskFog, (slider/2)-(3));
}
if(slider >= 180 && slider <= 360)
{
RenderSettings.ambientLight = Color.Lerp (duskLight, nightLight, (slider/2)-(4));
RenderSettings.fogColor = Color.Lerp (duskFog, nightFog, (slider/2)-(4));
}
theSun.transform.rotation = Quaternion.Euler(slider,0,0);
}
Comment
Your answer
Follow this Question
Related Questions
Implementing a day and night cycle 0 Answers
Using adaptive tonemapping along with day-night cycle 0 Answers
Realtime daylight cycle? 1 Answer