// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { instance.AnimateNebula(); var time = instance.time - delayFromPreviousState; //var evalCurve = instance.scrollSpeedCurve.Evaluate(speed); var evalCurve = instance.scrollSpeedCurve.Evaluate(time); //var scale = instance._player.transform.localScale; var scale = InitialScale; //instance._player.transform.localScale = Vector3.Lerp(scale, targetScale, ScaleTime); instance._player.transform.localScale = Vector3.Lerp(scale, targetScale, time); //ScaleTime = (scale - targetScale).magnitude * Time.deltaTime * instance.AnimSpeed ; //var pos = instance._player.transform.position; var pos = InitialPos; instance._player.transform.position = Vector3.Lerp(pos, targetPos, evalCurve); //PosTime = ((pos - InitialPos).magnitude * Time.deltaTime * instance.AnimSpeed) * evalCurve; }