static void CalculateCurve(Vector3 pos1, Vector3 pos2, AnimationCurve curve, out float distance) { { var t1 = pos1; t1.y = 0f; var t2 = pos2; t2.y = 0f; distance = Vector3.Distance( t1, t2 ); } curve.Clear(); curve.AddKey( 0f, pos1.y ); curve.AddKey( 0.5f, distance * Constants.instance.jumpCurveHeightDifference + Mathf.Max( pos1.y, pos2.y ) ); curve.AddKey( 1f, pos2.y ); }