Timeline - Available in Unity 2017.1

I want to try it out (probably will sometime), but will it continue to be updated alongside the 5.6beta releases?.. this whole experimental preview thing does have its offputting drawbacks :slight_smile:

1 Like

I strongly agree. Using Skele with Timeline is a very bad expirience as far as I can tell. Having some kind of controll over characters directly in the Timeline as in Source Film Maker will make it much more easier for us.

2 Likes

Is is possible to Instanciate objects with a custome timeline ?
I would really need something like that.

It really depends on what you have animated in your sequence. Timeline does not ‘take over’ from standard execution logic or ‘stop’ anything from happening elsewhere in the scene at all. It entirely depends on what you have animated & ‘bound’ to the sequence.

If you have an animated character with a state machine (ie your player) that you add to a Timeline, when the Timeline starts playing, the Animator will be overridden by Timeline to play the sequence. Once the sequence is done, Timeline will release control and the standard animation controller will be ‘back in charge’.

Note that while the Timeline is playing, it does not disable components or otherwise prevent things from executing - so if you want to disable input or stop the character from being affected otherwise you will need to handle these things either through a playable (see the example library for one way to do this) or simply by disabling the components from script otherwise.

A couple of important things to remember:

  1. Timeline is not a master override system that takes over your normal Unity scene. You can think of it as just another tool in your belt to help you create things easier. Timeline sequences do not need to start on scene load, you can activate them very easily via Triggers or from other scripts on demand.

  2. You can have multiple Timeline sequences running at one time. In one of the demos I’m working on, every interactive object in a scene has it’s own mini Timeline that controls how the object is interacted with. Doors opening, drawers opening, you name. I’ll hopefully have time to grab some video examples of these workflows soon.

2 Likes

There isn’t a prefab spawner track yet, but it would be fairly easy to create a custom playable to do this. I’ll see if I can get it added to the sample library ;}

One of the team just reminded me that you can use Control Tracks to spawn prefabs in a scene.

it’s very similar to Flux on asset store

In the very near future Timeline will support masking of animations which will allow for these kinds of bone-specific overrides during animation sequences. The end goal is to definitely provide a similar workflow to Source Film Maker and other similar tools.

Performance recording (being able to ‘play’ the game and record sequences that you can modify afterwards) is also a highly requested feature and is on the near-term roadmap.

3 Likes

Hello Mike,

I do not understand what is happening. Here is what i did:

  • created a box with an animator, animated it in the normal animation window.
  • created a timeline asset, dragged the box game object into the timeline window from my scene hierarchy. And chose “Animation Track”
  • dragged my animation file that I created in step one, onto the box game object in timeline. I can scrub the animation timeline and can see the box animate.
  • now I want to go back to my original animation and change it in the normal way in the animation window. But now, when I scrub in the animation window, my object no longer animates, I can no longer turn on the “record” button, I can add keys but not edit the values, but I can modify existing keys.
  • also if i add another animation it will not let me record animate it in the animation window. I can add a key manually using the “Add Property” button, but if I try to change a keys value, it will not stick.

What is keeping me from editing an animators animation clip once the object is in timeline?

Just noticed, if I right click a clip in timeline and choose “Edit in Animation Window”, it does allow me to edit existing keys and add new keys to properties that already have keys but I cannot add new property keys. Scrubbing does work again )in the Animation window) but I still cannot use the record button.

also, in the Timeline Manual, the “StoryTellerParticlesAnimation.unitypackage” link is broken. I’m trying to get my particle system to show all the parameters like the animated gifs show in the Manual but I cant figure it out.

thanks,
z

Can you submit a bug report with an example animation that you are having issues with? We can take a look to see if there’s anything specifically going on with the clips.

What I would recommend is to do your keyframing work primarily in Timeline. You can use the ‘edit in animation window’ to modify existing keys but what I’d suggest for a workflow is:

  1. create timeline ‘parent’ object - this will hold the timeline ‘Director’ component
  2. drag whatever objects you want to animate onto the Timeline.
  3. hit ‘record’ for the object(s) that you want to keyframe
  4. set appropriate keys, set timing through Timeline itself
  5. if you want to tweak or adjust keys you can play with the curves directly in Timeline or use the ‘Edit in Animation Window’ to jump between the two. Note that the new box select and other features that the animation window provide will be unified going forward to help adjust keyframes in Timeline itself.

Will dbl check the manual - the particles package is a bit out of date so I’m not sure whether it will behave properly in the latest builds or not.

We are aware of this issue; one of our field engineer had trouble setting keyframe values inside the Animation Window. We’ll take a look at it. Thanks for the feedback!

This seems like a bug:

The UI of a Transform’s XYZ are red in Timeline’s preview mode, if that Transform has an animation track in Timeline.
If you grab the associated GameObject that has a Transform position recorded animation in the timeline, and move it around in the scene, nothing is affected in the timeline.

In non-timeline-land, with a traditional non-timeline animation in Unity, if you grab a gameobject that has a red Transform XYZ UI while in the Animation editor window, it will create a key in timeline and the animation editor will kick you into record mode.
This seems like inconsistent behavior between two similar UI paradigms, no?

Very cool. We will definitely check this out. Thanks.

This is intended. Properties in red indicate values that are being driven (previewed) by Timeline, not necessarily being recorded. It is inconsistent with the Animation Window right now, but it’s a step toward where both windows are going. Future releases will distinguish between properties that are being driven and recorded.

1 Like

Man I can’t wait to try this out. Will Timeline be able to save .anim files if we use it? Example I want to create an animation for my character when he is selected, and let’s say, I have a sound of his weapon charging. Will this tool handle that? And also, could we integrate this with assets like UFE, for cutscenes?

Insert ripple is needed. On premiere, the shortcut is holding the command button while sliding a clip.

1 Like

Ripple edit is on our roadmap, stay tuned!

1 Like

@julienb awesome! that’s a must have feature.

@mikew_unity Trying out the Timeline Preview. Looking really nice

You can keyframe a character directly in timeline when you create an animation track and reference the gameobject it’s challenging. These improvements would help:

  • show bones when an animation track is created

  • fixing ‘f’ frame sending us far from a pivot that has no mesh

  • shortcut to key all properties that already have a key (‘k’ in maya)

  • prioritize bone over mesh and prefab in the selection

  • key all objects in the scene by dragging the scene in the animation track instead of a gameobject

  • <,> that work in the scene view (part of a larger topic of focus in unity which I’m sure isn’t fun for the UT devs to hack through)

I don’t see Unity implementing a full body IK that allows us to pull arm and body moves like in Source FM but I know the mecanim folks are working on something that can be repurposed for that, the generic IK

1 Like

You know what? I would be okay with manually positioning the limbs (in the meantime) as long as I could at least save/load poses for a gameobject’s different chains of limbs/digits and mirror them where applicable. It wouldn’t be quite as fast as dragging limbs with IK, but it would be precise enough for manual animation (and way less tedious) than having to pose every finger manually.

Another point to consider – Having a facial morph and lipsync palette would be nice for fast facial animation keys too. It would be a godsend if this included remembering/keying UV offsets and texture-swapping too, because animation of texture-based eyes and mouths (think anime/cartoon chars such as Unity-chan) is very tedious otherwise. As far as I have been able to tell, it is impossible to do the latter part in the Animation window anyhow. So this would be a HUGELY welcome feature of Timeline!

On another note: Is it possible to give gameplay characters going into a Timeline playable state an option to either use their current world location OR an absolute location (stored in the timeline itself) to start the position of their animation?

To explain what I mean, I was thnking of the fight scene between the Blacksmith and the other guy. Let’s say this guy the blacksmith was fighting was needed to be replaced by another gameobject sometimes and the blacksmith had started the conversation/fight scene with the guy from a weird spot (on top of a hill or building using something like Z-targeting). This would be weird because the choreographed fight requires very specific positioning of each of the two gameobjects. With them playing their animations separately at their current world locations, stuff would look pretty wonky.

Let’s say the blacksmith could get into skirmishes all over the world and different enemies could be needed or spawned when that animation plays – Instead of baking the starting position of the gameobjects involved into the animation itself, I recommend allowing the user to position the gameobject and record this position (or enter it manually) as the absolute starting position for the animation for the current timeline. Otherwise, if nothing is recorded, assume they want to play the animation on the spot.

Regarding controllable characters and disabling components, I would suggest adding a Timeline Disabler component that would enable/disable all components except for the timeline – BUT with the ability to populate an optional list of components to leave alone so that can control any audio or conditionals, such as getting hit, etc.)

For example, add a public array of a gameobject’s existing components in the inspector to be flagged (i.e. with a checkbox beside each array item) to flag them to be disabled when Timeline is active when this disabling component exists. It should have refresh/(de)select-all buttons that includes all components attached to the gameobject except for the timeline/disabler-component. Each gameobject attached to the Timeline gameobject as children could have this component attached too, and as long as either they OR their parent has a Timeline, they could subscribe to disabling their components (perhaps this could be specified too, since some gameobject children might want to only disable their components when they themselves have a Timeline, independent of whether their parent has one or not).

Instead of everyone having to reinvent the wheel for such a common task/feature (as we already have to do with SO MANY OTHER features in Unity), why not help us out a little please? As long as I’ve waited for something like Timeline, I can wait just a little longer for it to work the way I (and so many others) would want it to.

PS: Totally stoked about the direction! SFM is a great inspiration for Timeline, and having a mechanism to finally be able to pose characters and set their faces for in-game cinematic sequences was the first thing that came to mind when you guys introduced Timeline! I love everything so far! Great work guys! :slight_smile:

1 Like

If you check the Playables API Examples, it has a few custom playable track clips that do exactly the features you’re requesting, such as teleport GameObject to a specified location or toggle components. It should be easy to expand on adding multiple GameObject support to these.

2 Likes