I know I’m late to the party, but I think it deserves a bump. My current workflow suffers fantastically from not being able to do this. I’m truly in copy paste hell going back and forth between specific items in one animation to get them to sync correctly with another. This is especially bad if I make a change in one animation and then have to update all the transition animations.
To give you guys an idea of how painful this can be here’s an example workflow – almost identical to what I have today…
Consider a jump animation, with appropriate transitions:
JumpFromGround
JumpRising
JumpFalling
JumpLand
Now consider transitions for things like different movement types and running into a wall or getting hit while in the air:
JumpFromRun
JumpFromRunRising
JumpFromRunFalling
JumpFromRunLand
JumpToWallHit
JumpRunToWallHit
JumpDamage
JumpRunDamage
If I was trying to do something on the order of a modern Flashback I’d have even more transitions:
JumpToGrabDirectlyAbove
JumpToReachAndGrab
(plus all the transitions needed for the run variants.)
Now imagine I update the JumpFalling animation, I have to edit all the things that “touch” it: JumpRising, JumpLand, JumpToWallHit, JumpDamage, JumpToGrabDirectlyAbove, JumpToReachAndGrab.
Clearly it gets hard to keep in sync very quickly.
Perhaps this is more acute when trying to build rich 2D “rigged” animations, but it seems like a general issue. (By “rigged” I mean in the way that Mika Mobile made popular with Battleheart, but imagine doing that entirely in Unity – Mika did it with Maya I believe – and aiming to tackle something like Another World or Flashback.)
The need is simple…
Allow the end frames of animation A to be the same as start frames of animation B. For instance, allow the start frame of my Run animation to be the same as my IdleToRun transition animation.
Some solution options…
Simple / hacky solution: allow keyframes at any point in animation A to be copy / pasted into animation B AND only update the affected keyframes of animation B, at the timeline point for which is pasted them. See above: currently the entire animation is blown away.
More ideal solution: Allow animations to be viewed as an orchestrated chain, rather than discreet operations. Automatically allow me to make the End and Start of two distinct animations the same, so if I edit one the other gets automatically updated. Further, allow the “end / start” to be shared across multiple animations, creating if you will a master-instance model of certain aspects of the animation “chain”. My understanding is that programs like Max allow this by way of animating things along a single timeline and then saving out “time slices” for specific animations.
NOTE: The current model of a transition time / blending does not work. I have all my transitions to 0 seconds because they cause far too many issues. Why? Often in these 2D “rigged” set ups you have to turn on and off pieces of the model e.g. a shield that is in block pose versus idle pose (transitioning between that causes both items to be visible at the same time… looks terrible). Also, simply switching the sprite is often not enough as sometimes the sprite needs to be reordered (not animatable) or flipped, which causes other problems such as flipped elements (scale.x = -1) not being able to be rotated properly past a certain point.
I hope this helps. Creating a better system here would save me many hours each week.