private float easeInOutCircFunction(float start, float end, float value) { value /= .5f; end -= start; if (value < 1) return -end / 2 * (Mathf.Sqrt(1 - value * value) - 1) + start; value -= 2; return end / 2 * (Mathf.Sqrt(1 - value * value) + 1) + start; }