Animation Window Improvements

Hi all,
Here is a list of new features that will be available in the Animation Window in the upcoming 5.5 beta.

Performance improvements
We tremendously improved the rendering speed for both the Curve Editor and the Dopesheet Editor in the Animation Window. We mostly worked with baked/dense animation data to make sure the animation window would behave as expected. While it’s difficult to really benchmark those improvements, we think they will ease out most of the pain users had with the animation window performances until now.

New Clamped-Auto tangent mode
We added the Clamped-Auto tangent mode in an effort to replace the current Auto tangent mode which has a tendency to create curve overshoots when keyframes are near one another. The Clamped-Auto tangent mode gradually becomes a flat tangent instead when a keyframe goes out of bounds.

New Box Tool
We added the Box Tool for the Curve Editor and the Dopesheet Editor. The Box Tool will allow users to move and scale keyframes selection in time and in value. With this tool, you’ll be able to easily speed up or slow down a portion of your animation.

8 Likes

Will we finally be able to zoom in the Animator window. The fact that you can't drives me up the walls.

3 Likes

Hi there,
Zooming in the Animator Window is on our internal roadmap, but we cannot unfortunately say when it’s going to be available. We are however working on it!

2 Likes

Hopefully we will be able to get rid of distorted and weird movements of animated objects with the new ClampedAuto feature. Great job! Can't wait to try it.

@simonbz How about playing/scrubing animation without activating record button/mode?

5 Likes

Box Tool, temporary visual?
Also consider option+click box corner to warp the keys, VERY useful for turning a lossless bounce into a real bounce.

It’s unfortunately not available in this release, but this is also on our list! There are many repercussions in making recording and playback separate in the software, but we are looking into that!

4 Likes

Alright glad to hear that is on your list, that is one of the small annoying thing in unity animation window :smile:

4 Likes

In the mean time I’d suggest something that’s a lot more visually obvious that you are currently recording. I’ve had lots of artists have the animation window open, scrub an animation, hide the window (either in another tab or behind the main window) and then completely trash the animation by continuing unrelated work in the scene.

6 Likes

Could we have better representation and direct editing of keyframe values, outside of right-clicking on curves?

Animation is a very precise process, not suited to over-simplified interfaces. Consider the attached image, where both the frame number and value of the keyframe can be edited along the bottom (not suggesting slope and accel, though if you have an itch :))

2781244--201225--hou_editor.PNG

4 Likes

Thanks! This is good feedback, we’re taking note of it :slight_smile:

2 Likes

Only saw this late, but wanted to chime in.

The problem is not just technical but conceptual. If you scrub the timeline without being in any “mode” at all, then when you look at some value in the Inspector, what does it mean? Is it the object’s own value, or one corresponding to the current time in the animation? The reason the animation mode exists and that you can only play/preview when it’s on is to not have this ambiguity. If you’re in animation mode, animated fields are tinted red and their values come from animation. If you’re not in animation mode, then it’s always the object’s own values.

If you could scrub without being in any mode, how would you know what the values represent?

Got to admit that is make sense, the only problem with record mode is accidentally record a keyframe.
Well then this is make this problem become more complex :confused:

Maybe adding a red border to all the windows would make it more obvious?

This would be helpful. After Effects used to do the same in one of it’s modes: Caps Lock enabled to disable preview rendering would draw a red pixel border around the output window. It was a sad day when they removed it.

But there are two primary things that lead to ‘accidental animation’:

  • Selecting a gameobject with an Animator attached will enable Record mode if an Animation window is visible (I’ve just sanity checked this and actually it seems to no longer be the case)
  • Moving the timeline bar (to preview a frame of animation) will enable Record mode if an Animation window is visible.

The simple fix to these is to not enable Record automatically.

1 Like

What would you want to happen when moving the timeline bar? No preview unless you explicitly go in animation mode?

Kind of an extension to the above: it would be extremely useful if we could preview animation

A preview would be ideal - for example just now I’m animating lots of things moving around, and I want to grab snapshots of their positions (literally Copy Component on Transform) so I can paste them into non-animating mode for layout purposes.

I understand we can’t click away from the object and retain the preview - in the future maybe - but just being able to scrub animations as a matter of course without having to worry about accidentally clicking on something (i.e. scrubbing then disabling a child so you can see what’s behind it, will add that toggle to the animation) is helpful.

The vast majority of animation mishaps are grossly exacerbated by the fact that animation is a ‘live’ thing. There’s no saving or snapshots…if you’re not checking in to a repo every step, you’re on a one-way path. Not sure that’s an easy thing to deal with, but it highlights the logic behind more manual steps before committing a change (where a lost change is probably not as destructive as keyframes a carefully constructed animation being lost).

Ok, and what does this mean? :slight_smile: If you have an animation that animates the position, and you scrub the time bar to see this preview, then what happens if you move the object in the Scene view or type into the position field in the Inspector while in this preview mode?

Two possibles come to mind:

  1. Lock it so it can’t be moved (or rubber-band it like UI editing behavior on parent RectTransform bounds)?
    or, better:
  2. Allow it to be moved, but restore it’s position when scrubbing to a different frame.

(Actually, with #2, you could then maybe have a manual Add Keyframe operation, as with traditional animation packages)

I guess this kind of comes down to auto-recording keyframes vs manual keyframing, where we (animators) have lived naturally a long time with the two as an option.

1 Like

Just to be clear here, we’re still talking about scrubbing entering some mode; just not record mode? So you can be in regular mode, preview mode, or record mode?
And you’re saying here that in preview mode, any animated field (or maybe any field in general) on an animated object won’t be editable?

If allowing it to be moved, what does the new value represent after it’s moved? Is it stored in the object yourself? Or just some temporary value that’s not stored anywhere at all?