Layer/Path Retiming
Time Param Overview
In order to define a time reference, Autograph provides Time parameters. These parameters allow you to perform operations such as setting a time offset, or specifying an image in a composition or footage.
Time is defined in three different ways:
- Timecode
- Frame number
- Seconds
Timecode:
Timecodes (TC) have been used for decades as a time reference when synchronizing images and sound. A timecode is expressed in hours, minutes, seconds, and images, separated by colons.
The TC is visible on the left part of a Time parameter:
Each of these elements start with the value 0. So, the first image in a composition will have the TC 00:00:00:00.
Since the last element represents images, its maximum value depends on the framerate. In a 30 FPS composition, this value will go from 0 to 29 in the span of one second, before going back to 0.
Frame number:
The second part of a time parameter describes a number of images. This is not related to a framerate.
Keep in mind that this numbering starts at 0, which is the number of the first frame. So, the second image in a composition won't be numbered 2, but 1. If you go to the frame numbered 21, this value represents the number of images before the current frame, which is the 22nd.
Working with seconds:
The internal time base of any Autograph project is seconds. This allows you to create a project in 25 FPS for example, and then switch it to 60 FPS last minute. A keyframe indicating a value at 2.75 seconds won't be time-shifted when changing FPS. A second will always time a second, no matter how many frames exist in that interval.
When you define a time, either by using a timecode or frame numbers, internally it corresponds to a decimal number defining seconds. If you connect or share a value between parameters, it is this Float type value that will be transferred.
This allows you to maintain maximum precision, as well as connect a Time to any 1D parameter, like a rotation for example.
The timecode and frame number prevent defining a time between two images, which can be useful when creating procedural animations; but, you can use Seconds mode, for more precision. You can enter a timing in seconds, with as many digits after the decimal point as the precision level requires.
Time Offset
Time Offset is a type of Time that can be defined manually by entering a frame number or timecode, or by moving the layer block in the Dope Sheet.
To move a layer block defined by visibility keys, just click on it and drag it, which will change the value in the Retiming section of the layer:
In the Dope Sheet, the Time Offset value is displayed in frames, just next to the playhead when you click on/move a block.
Connecting to other parameters:
This parameter cannot be animated, but you can connect and share it. So, you can add a Generator to it, even if some can produce results that cannot fully be controlled.
When playing an animation, Autograph does a lot of optimizing based on each layer’s timing to speed up calculation. If you add a Random Generator on this Time offset, by setting its Varying parameter to Time, the layer offset will change randomly at each frame, heavily disrupting the engine.
At best, the layer will be offset correctly, but the block representing it in the Dope Sheet will not necessarily display the update, resulting a mismatch between the Timeline and the portion of the project visible in the Viewer. The same is true for connections or shares aimed at parameters that evolve over time.
Despite these warnings, having access to these Generators allows you to connect the offset to a table, control it with a composition parameter, and much more, which is why access to them has not been restricted.
Speed Multiplier
Like all other retiming operations, the Speed Multiplier acts on the entire layer – its parameters, keyframes, Generators, and Modifiers. By modifying this value, a time stretch that uses the original speed as a reference will be applied to the layer.
- A value of 0.5 will multiply the duration of the layer by 2, slowing down any animation
- A value of 2.0 will divide the duration of the layer by 2, speeding up layer animation
The only parameter that can be excluded from this time stretch is layer visibility, through the Retime visibility switch.
As with Time offset, it is possible to connect, share, and control this parameter using a Generator, but with the limitations mentioned in the "Connection to other parameters" section.
Time stretching and temporal reference point
When changing the Speed Multiplier value, the layer will shrink or expand based on a reference point that will remain unchanged. This point is the first frame of a layer's initial range:
- The first frame of a movie or image sequence, regardless of the first visibility key
- The first frame of a procedurally-generated layer, such as a Circle or Polygon.
This value cannot be negative and is not made to reverse footage. To temporally reverse a layer, use Reverse Sequence instead.
To control this time stretch using the notion of duration rather than speed, please refer to the Time Remapping features, which will also allow you to define a non-linear temporal interpolation.
Time-Remapping
Applying Time-Remapping
Turning on Enable Time-Remapping will make a new Time Remap parameter appear. By selecting it and switching to the Graph Editor, you can see a curve appear, which is linear at first.
When this option is active, the range of the layer on which it is applied is used to define the vertical scale, on the left of the Graph Editor.
If the layer does not have a range, then the composition duration will be used - here it is 30 seconds. This is the reason why this curve, which right now is linear, evolves from 0.0 to 30.0.
For the moment, this option does not change the time. Time elapses linearly over a period of 30 seconds. Note that the first keyframe is positioned at 0:0 and the last keyframe at 30:30.
Bending time
The tangents of these two points can be used to curve the line.
If we draw a vertical line at the 7th second and go down the curve, going to the left, we can make this time correspond to 10 seconds.
This speeds up the time to make the state of the layer at the tenth second much earlier in time.
Back in time
By adding points on the curve and adjusting the tangents, it is even possible to go back in time.
Retime Visibilty
Retiming operations act on all layer parameters, including its visibility keys. Applying a Speed Multiplier with a value of 2 will reduce a layer’s presence on screen by half.
However, it’s possible to make an exception for this particular type of keyframe in order to keep the same visibility on screen. This comes in handy when keyframes are placed according a specific rhythm or for specific moments of an animation.
To do so, uncheck the Retime Visibility option, which is checked by default:
Here you can adjust the Speed Multiplier and see what happens in the Dope Sheet when this option is checked/unchecked:
Reverse Sequence
For layers that have a range, the Reverse Sequence button allows you to reverse the entire layer in time by inverting the first image of its range with the last.
The following elements will be inverted:
- Keyframes
- Sources
- Masks
- Modifiers
Generators will also be inverted, except those applied to the layer source, since they would produce a graphic element without a range.
The Reverse Sequence option is always present even if it cannot be applied to the current source. Since it’s possible to change the source of a layer at any time, this option is available in anticipation of any possible future changes.
For a layer without a range, this option will have no effect.
Retime Filter
When using keyframes or procedural Generators/Modifiers such as Random, Noise, or Animator, any retiming operations will modify the interpolation produced by these tools.
The high precision interpolation allows Autograph to slow down any animation by creating new intermediate images in order to maintain maximum smoothness; but, using a movie or an image sequence, there is a finite number of images played at a given frame rate.
A 25 FPS movie will only have 25 images to play in one second. By default, when using this source as a layer in a 25 FPS composition, each image of the comp will use one image of the movie; but, if this sequence is slowed down using a Speed Multiplier of 0.25 for example, Autograph will have to create new images to fill in the gaps based on the previous and subsequent frames.
For this, there are three Retime Filters:
Nearest:
This is the simplest technique where the last complete frame provided by the reader is kept on screen until the next one is required. Visually, this produces a more jerky animation but it has the advantage of being based solely on existing frames.
Blend:
Rather than keeping an image on screen until the next one is used, it is possible to create a cross fade between these images in order to reduce the jerkiness of Nearest mode. This option can be used even when no retiming is applied to the layer.
After selecting this option, a new section called Acceleration Motion-Blur will appear.
Shutter Angle:
The goal here is to mix several images together by accumulation. Choosing a Shutter Angle value will define a range of images to take into account before and after the current time. The higher this value, the further Autograph will search before and after the current time. Using the notion of Shutter Angle rather than a number of frames allows you to keep the same look, no matter the composition FPS.
Num samples:
This parameter lets you define how many images within this range will be used during accumulation. The wider the range, the higher this value should be in order to smooth out the animation.
Auto Shutter Angle:
This switch allows you to automatically calculate the shutter angle, based on the source frame rate and the retiming applied to the layer.
Pixel Motion:
Rather than just mixing existing images to produce new intermediate frames, Autograph is able to create new images based on movement between frames.
The image at the current time is compared to the next image, in order to detect how the pixels have moved from this image to the other. A second analysis is done in the other direction, from the next frame to the current one.
The result is two sets of motion vectors, indicating the direction and the distance traveled by visible pixels in these two images. In addition to tracking pixels, these vectors are used to detect occlusions or the appearance of new elements that are not present in the two frames.
From this information, Autograph can recreate as many intermediate images as necessary, depending on the remapping applied to the layer.
A warping deformation is applied to the current image to transform it into the second image. All that’s left is to determine how to fill the gaps when elements are missing in between one of these two references.
There are two options:
-
Backward: The starting image is used to fill in the missing pixels using the adjacent ones. Some of them can go in completely different directions, so strange deformations can appear; however, this method has the advantage of being quite fast during calculation.
-
Forward: A denser deformation grid where each subdivision is equal to one pixel is used and this time the destination image is used to fill in the missing pixels. Although it’s more intensive in terms of computation, this method generally yields better results.