spine-editor icon indicating copy to clipboard operation
spine-editor copied to clipboard

Sync first and last keys for looping animations

Open NathanSweet opened this issue 8 years ago • 4 comments

http://esotericsoftware.com/forum/viewtopic.php?p=16764#p16764

NathanSweet avatar May 30 '16 01:05 NathanSweet

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.

pharan avatar Dec 01 '16 13:12 pharan

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)

erikari avatar Apr 27 '18 09:04 erikari

Additional suggestion: add a hotkey to put the first keys on the last frame of an animation.

erikari avatar Dec 19 '19 16:12 erikari

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.

NathanSweet avatar Apr 02 '24 02:04 NathanSweet