For those who are still looking to get some use out of this addon, you may find this new experimental change a surprise!
Added 6 new overlapping methods:
- Min
- Max
- Previous
- Next
- Rest Value Crossing (experimental)
- Keyframe Pruning (experimental)
Take a look at how they work here:
Overlap Methods
Simple:
Min:
- When two animations overlap, use whichever mapping value is the minimum of the two at each moment in time.
- In the example, both curves would interpolate, and only pick the lowest values
Max:
- Use whichever mapping value is the maximum of the two at each moment.
- In the example, both curves would interpolate and only pick the highest values
Previous:
- During the conflict, maintain the mapping value from the animation that started first, disregarding the second.
- In the example, the green curve would play out entirely during the overlap region, and once it is done overlapping, the blue curve would start.
Next:
- During the overlap, switch to using the mapping value from whichever animation started most recently, dropping the previous one.
- In the example, the green curve would stop immediately and the blue curve would begin.
Complex:
Rest Value Crossings:
- Smoothly transition between conflicting mappings by crossing at the rest value (often zero).
- This ensures first-order continuity, but may cause second-order discontinuities.
- Assume the "rest value" is 0 for the parameter being mapped.
- As mapping 1 reaches the end of its animated range, it will cross 0 while fading out.
- Meanwhile, mapping 2 crosses 0 while fading in from its rest value, starting its animation.
- So there is a smooth crossfade between the two mappings at the rest value of 0.
- However, the acceleration of mapping 2 may not perfectly match mapping 1 at that instant, which could cause a slight visual jerk even though position/value is continuous.
Keyframe Pruning:
- Remove some keyframes from the overlapping animations to eliminate the conflict.
- Keyframes are selected to maintain second-order continuity (smooth motion flows).
- More complex, but can resolve conflicts while preserving smoother animation.
- The keyframe times are analyzed to find overlapping segments between the two mappings.
- Keyframes are strategically removed to eliminate the conflict.
- For example, the last couple keyframes of mapping 1 faded down to the rest value may be pruned so its animation ends sooner.
- Any accelerations specified in those pruned keyframes are lost, which may cause subtle visual changes.
- So the seamless position continuity comes at the cost of losing some original nuances of motion.
Full Changelog: v1.0.0-beta.4.0...v1.0.0-beta.4.1