编辑代码

using System;

public class SampleLerp04
{
    public float lerpValue;
    public float duration = 3;

    private void Start()
    {
        StartCoroutine(LerpValue(0, 1));
    }

    IEnumerator LerpValue(float start, float end)
    {
        float timeElapsed = 0;
        while(timeElapsed < duration)
        {
            float t = timeElapsed / duration;
            t = t * t *(3f - 2f * t);
            // t = animCurve.Evaluate(t);   //使用动画曲线改变t值
            lerpValue = Mathf.Lerp(start, end, t);
            timeElapsed += Time.deltaTime;
            yield return null;
        }
        lerpValue = end;
    }
}