/// <summary> /// Converts all Ease Equations into AnimationCurves. /// Certain Ease Equations are treated slithly differently - e,g, 'BounceEase' to get correct graph. /// </summary> public void ConvertAllEaseEquations() { ConversionProperties cp = CreateConversionProperties(); List <AnimationCurve> curves = new List <AnimationCurve>(); // All Ease conversions share the same conversion properties with exception of SmoothTangentMaxAngle foreach (EaseEquations e in Enum.GetValues(typeof(EaseEquations))) { switch (e) { case EaseEquations.BounceEaseIn: case EaseEquations.BounceEaseInOut: case EaseEquations.BounceEaseOut: case EaseEquations.BounceEaseOutIn: cp.m_SmoothTangentMaxAngle = 60f; break; default: cp.m_SmoothTangentMaxAngle = 180f; break; } AnimationCurve ac = new AnimationCurve(); EasingToAnimationCurve.ConvertEaseEquationToCurve(e, ac, cp, false); curves.Add(ac); } m_AnimationCurves = curves.ToArray(); }
public void ConvertEaseEquationToCurve() { ConversionProperties cp = new ConversionProperties(); cp.m_FitError = m_FitError; cp.m_RdpError = m_RdpError; cp.m_PointDistance = m_PointDistance; cp.m_NumEquationSteps = m_NumEquationSteps; cp.m_MaxStepsBetweenPoints = m_MaxStepsBetweenPoints; cp.m_UseCurveFit = m_UseCurveFit; cp.m_TangentMode = m_TangentMode; cp.m_PreprocessMode = m_PreprocessMode; cp.m_SmoothTangentMaxAngle = m_SmoothTangentMaxAngle; EasingToAnimationCurve.ConvertEaseEquationToCurve(m_Equation, m_TargetAnimCurve, cp, m_DebugConversion); }