Esempio n. 1
0
        private void Reduce()
        {
            if (_backup == null)
            {
                TakeBackup();
            }

            _reduceUI.button.interactable = false;
            _reduceUI.label = "Please be patient...";
            var settings = new ReduceSettings
            {
                fps                               = (int)_reduceMaxFramesPerSecondJSON.val,
                avgToSnap                         = _averageToSnapJSON.val,
                removeFlats                       = _removeFlatSectionsKeyframes.val,
                simplify                          = _simplifyKeyframes.val,
                minMeaningfulDistance             = _reduceMinDistanceJSON.val,
                minMeaningfulRotation             = _reduceMinRotationJSON.val,
                minMeaningfulFloatParamRangeRatio = _reduceMinFloatParamRangeRatioJSON.val,
            };
            var targets = animationEditContext.GetAllOrSelectedTargets().OfType <ICurveAnimationTarget>().ToList();

            StartCoroutine(operations.Reduce(settings).ReduceKeyframes(
                               targets,
                               progress =>
            {
                _reduceUI.label = $"{progress.stepsDone} of {progress.stepsTotal} ({progress.timeLeft:0}s left)";
            },
                               () =>
            {
                _reduceUI.button.interactable = true;
                _reduceUI.label = "Reduce";
            }));
        }
Esempio n. 2
0
 public ReduceOperations(AtomAnimationClip clip, ReduceSettings settings)
 {
     _clip     = clip;
     _settings = settings;
 }
Esempio n. 3
0
 public FloatParamTargetReduceProcessor(FloatParamAnimationTarget source, ReduceSettings settings)
     : base(source, settings)
 {
 }
Esempio n. 4
0
 public ReduceOperations Reduce(ReduceSettings settings)
 {
     return(new ReduceOperations(_clip, settings));
 }
Esempio n. 5
0
 public ControllerTargetReduceProcessor(FreeControllerAnimationTarget source, ReduceSettings settings)
     : base(source, settings)
 {
 }