how to use time on lerp

hi everyone,
iàm trying to undestand how to make my lerp start faster like an impulse, the slow it overtime, iàm using this now

float t = currentLerpTime / lerpTime;
t = Mathf.Sin(t * Mathf.PI * 0.5f);

but doesnàt work as expected… what i missing?

thank’s you in advance

This is a sinusoidal easing timing, but there are some other useful easing math. Try these:

 //Sinusoidal (same as yours)
t = Mathf.Sin(t * Mathf.PI / 2f);
t = t * (2 - t);
t = t * t * t + 1;
t = t == 1f ? 1f : 1f - Mathf.Pow(2f, -10f * t);
t = Mathf.Sqrt(1f - (--t * t));

If these one not working, you make a mistake elsewhere.

You may want to use an AnimationCurve.

[SerializeField] AnimationCurve timeWarpCurve;

float t = timeWarpCurve.Evaluate(Time.time);
t = Mathf.Sin(t * Mathf.PI * 0.5f);