private void OnCurrentAnimationTimeChange() { float deltaTime = currentAnimaionTime - bufforAnimationTime; bufforAnimationTime = currentAnimaionTime; if (previewBTNClick) { previewBTNClick = false; } else { if (playableGraph != null) { if (playableGraph.IsValid() && playableGraph.IsDataValid(editedData)) { float minDelta = 0.01667f; if (deltaTime > minDelta) { int deltas = Mathf.Abs(Mathf.CeilToInt(deltaTime / minDelta)); float finalDelta = deltaTime / (float)deltas; for (int i = 0; i < deltas; i++) { playableGraph.EvaluateMotionMatchgData(editedData, finalDelta); //playableGraph.Evaluate(finalDelta); } } else { playableGraph.EvaluateMotionMatchgData(editedData, deltaTime); //playableGraph.Evaluate(deltaTime); } this.Repaint(); } } } }