spine-editor
spine-editor copied to clipboard
Sync first and last keys for looping animations
http://esotericsoftware.com/forum/viewtopic.php?p=16764#p16764
Implementation idea:
-
It's just a dopesheet mode. No changes to serialization or object model.
-
Beside the loop button, maybe there's a Sync-edge-keys toggle button (or whatever we want to call it)
-
Whenever it's enabled, any keys you add/change at time 0, are automatically applied to the end of the animation, and any keys you change/add at the end time, are automatically applied to the start.
-
Forces ALL keyed timelines to have a key at time 0 and animation end.
-
If you add a new key that extends the duration of the animation, it will enforce the timelines-must-have-last-keys rule. (Optionally, it will remove the previous key if it was between two keys with similar values.)
The above idea sort of has the same danger-level as having Auto key
on, in terms of overwriting values.
An alternative is to have manual Copy-start-to-end or Copy-end-to-start buttons/hotkey shortcuts.
Suggestion from the forum:
Simply add a checkbox option in the animation interface for Seamless loop. It would only have an effect if the loop end time was set to a time after the last key frame. If the option was checked, the animation would play as though there were keys identical to the keys at time zero at the loop end time. The checkbox could just be made inactive if there's a frame after the loop end time or if looping was disabled. Forum post
My tiny opinion: have a "Loop adjust" button that keeps in sync the first and last frames if active, so that if you modify one, the one at the end is modified as well. (which is very similar to what Pharan said!:D)
Additional suggestion: add a hotkey to put the first keys on the last frame of an animation.
In 4.x we keep the first/last key values in sync when moved up/down in the graph, if they have the same value.
In 4.2.48-beta we keep the first/last curve handles in sync, if they have the same value.
We still don't have a way to sync the first/last keys when other changes are made, like moving bones in the viewport.