- Home /
Problem with Mathf.Lerp
I have a problem with math.lerp function. i want to make a guitexture to be full transparency, and i want this to happend smoothly in 2 seconds. And i am using the following code:
public GUITexture gt = null; // i assign in the inspector a
// GUITexture object
void Update()
{
float alpha = Mathf.Lerp(1.0f,0.0f,Time.deltaTime*2.0f);
gt.color = new Color(1.0f,1.0f,1.0f,alpha);
}
I think that there is a problem with the Lerp function, because i use the Debug.Log function to display alpha variable into the console, and instead of going till 0.0f, it stops somewhere at 9.123...
P.S. Sorry for bad english :)
Answer by zharik86 · Mar 18, 2014 at 06:41 PM
As far as I remember lerp function with parameters a, b and c respectively, is calculated as a + c*(b-a). Proceeding from it it is necessary to correct your code a little:
public GUITexture gt = null;
public float speedsmooth = 2.0f; // your speed smooth, but not time
private float myAlpha = 1.0f;
void Start() {
myAlpha = 1.0f; // maybe you need other value
}
void Update() {
myAlpha = Mathf.Lerp(myAlpha,0.0f,Time.deltaTime*speedsmooth);
gt.color = new Color(1.0f,1.0f,1.0f,myAlpha);
}
I hope it to you will help.
Your answer
Follow this Question
Related Questions
Making an object bounce, using Mathf.Lerp 1 Answer
Trying to lerp in different states in a switch statement 0 Answers
Is there a way to smoothly transition between two floats, with it slowing down towards the end 1 Answer
Mathf.Lerp inside a while loop crashes game 2 Answers
How the heck does Mathf.Lerp work? 2 Answers