Select File > Import > File.
Work with Data-driven animation
- After Effects User Guide
- Beta releases
- Getting started
- Projects and compositions
- Importing footage
- Text and Graphics
- Motion Graphics
- Drawing, Painting, and Paths
- Overview of shape layers, paths, and vector graphics
- Paint tools: Brush, Clone Stamp, and Eraser
- Taper shape strokes
- Shape attributes, paint operations, and path operations for shape layers
- Use Offset Paths shape effect to alter shapes
- Creating shapes
- Create masks
- Remove objects from your videos with the Content-Aware Fill panel
- Roto Brush and Refine Matte
- Layers, Markers, and Camera
- Animation, Keyframes, Motion Tracking, and Keying
- Motion tracking
- Transparency and Compositing
- Adjusting color
- Effects and Animation Presets
- Effects and animation presets overview
- Effect list
- Simulation effects
- Stylize effects
- Audio effects
- Distort effects
- Perspective effects
- Channel effects
- Generate effects
- Transition effects
- The Rolling Shutter Repair effect
- Blur and Sharpen effects
- 3D Channel effects
- Utility effects
- Matte effects
- Noise and Grain effects
- Detail-preserving Upscale effect
- Obsolete effects
- Expressions and Automation
- Expression basics
- Understanding the expression language
- Using expression controls
- Editing expressions
- Expression errors
- Using the Expressions editor
- Use expressions to edit and access text properties
- Expression language reference
- Expression examples
- Immersive video, VR, and 3D
- Construct VR environments in After Effects
- Apply immersive video effects
- Compositing tools for VR/360 videos
- Tracking 3D camera movement
- Work in 3D Design Space
- 3D Transform Gizmos
- Do more with 3D animation
- Preview changes to 3D designs real time with the Mercury 3D engine
- Add responsive design to your graphics
- Views and Previews
- Rendering and Exporting
- Basics of rendering and exporting
- H.264 Encoding in After Effects
- Export an After Effects project as an Adobe Premiere Pro project
- Converting movies
- Multi-frame rendering
- Automated rendering and network rendering
- Rendering and exporting still images and still-image sequences
- Using the GoPro CineForm codec in After Effects
- Working with other applications
- Collaboration: Frame.io, and Team Projects
- Memory, storage, performance
- Knowledge Base
Use the document to learn how to work with Data-driven animation.
Data-driven animations are created using live data collected from various data sources that drive animations in your composition. You can use data from multiple data sources. The data can be static or time-varying. Import the data into your After Effects project and use it as input that can animate graphs, characters, control visual effects and movie titles, and other motion graphics.
You can use data from almost every possible source such as:
- Device-Generated Data Files – Data from devices such as fitness trackers that record activity through sensors and store them in different file formats. This time-varying data includes - speed, altitude, distance, heart rate, and various other parameters of user activity.
- User-Generated Static Data – Global static data such as survey results that can be changed to drive graphics. A user created data file could provide a workflow for global data.
- URL – Live data from websites such as entry and exit path of a user navigating through a web page.
- Metadata - Data embedded in Video File Metadata.
You can import data files in the following formats:
If you have data files in other formats, convert them to any of the supported import file formats and import into After Effects project. There are various conversion tools available to convert data files into After-Effects-supported formats.
Support for standard JSON (.json)
You can import a standard JSON file into After Effects as footage and the data files work in the background. After Effects directly references the data in these data files to drive animations within projects. JSON footage is not represented as data streams in the Timeline panel. You can reference the data using expressions as an evaluated JSON object.
You can modify the expressions to change how data is referenced. You can write the data in a text editor, referenced by After Effects to drive animations. JSON support is based on the JSON schema, which specifies and defines how an application uses and modifies JSON data.
JSON's basic data types are:
- Number: A signed decimal number.
- String: A sequence of zero or more Unicode characters.
- Boolean: Either of the values true or false.
- Array: An ordered list of zero or more values.
- Object: an unordered collection of name or value pairs where the names (keys) are strings.
- Null: An empty value, using the word ‘null’.
If you intend to use Adobe Media Encoder or link the compositions to Premiere Pro, add the data source file to the Timeline rather than using expressions to refer to data entries residing in the Project panel. Adding the data file as a composition layer will also ensure it will be copied when choosing Collect Files.
Work with JSON file in After Effects
To work with a standard JSON file, use the following steps:
Select a .JSON file and select Open.
The file is added to your project window. Create a composition with the footage.
Add a solid to the composition. To add a solid, select Layer > New > Solid.
In the Timeline panel, twirl open the properties of the solid layer and open the Opacity parameter using Alt + Click for Windows and ⌥ + Click for macOS.
Change the data in the expression to modify your animation. You can control the JSON data and the data file where all the information is stored.
You can also replace the JSON file with another JSON file to change the data being referenced. To replace, select Replace Footage > File, and open the new file from your computer.
To use the data, you can apply an expression on the property you want the data to drive, then:
Use the sourceData attribute to read the data in a .JSON file. For example:
var sampleData = footage("sample.json").sourceData;
To return its value, reference the specific property inside the JSON data. For example,
myData.engineData.RPM or myData.latitude.value.
Support for Motion Graphics JSON (.mgJSON)
You can import an MGJSON data file as footage in your project. When you add data footage to a composition, data property streams are grouped into a top-level group "Data". The Data group displays footage data as Properties. Each property in the data group is expression linked back to the footage file that access the data file value using the expression footage("foo.mgjson").dataValue(N). Here N is the path to the data stream in the file. MGJSON works based on a schema, which is designed to simplify referencing and importing data streams in After Effects.
Each individual data property has an expression applied which links that property to the data in the MGJSON file. If the source MGJSON file is changed, the data property values are automatically updated.
In the Timeline panel, you can twirl open the Data layers and use the pick-whip to link parameters to other parameters. The changes are automatically populated.
Work with MGJSON footage in After Effects
To work with an MGJSON file, use the following steps:
Select File > Import > File.
To import, select an MGJSON file and select Open.
The file is added to your project window. Create a composition with the footage.
Import an asset into the project and add it to the composition.
In the Timeline panel, twirl open the properties of the footage.
Pick whip one of the properties of the asset, for example – Rotation to one of the data streams in the data layer. The asset property is now referencing the data from the data layer. Each reflected data stream has an expression that pulls its value from the footage file.
When you preview the footage, the asset animates based on the data stream of the data layer.
You can also convert the data samples from the data file into keyframes. To convert into keyframes, follow these steps:
Import MGJSON file into your project and drag into Timeline panel.
Right-click the data layer and select Keyframes Assistant > Create Keyframes from Data from the menu.
To view the keyframes, twirl open the data layer.
After keyframe conversion, the data is no longer live and is not referenced from the data file.
You can also view live data as a graph in the Graph Editor. To view, select the Graph Editor icon in the Timeline panel.
Data-driven animation uses expression reference. For more information, see Data-driven animation (expression reference).
Align video in time to mgJSON data
The Layer > Time > Align Video to Data command offsets video layers by various frames, as specified in an mgJSON file. You can use this command to align the video in time to data samples stored in a matching mgJSON file. For example, if you captured data during a race, but the start time of the video does not match the start time of the captured data, you can specify the offset so that the data is automatically aligned.
To align video in time to mgJSON data, use the following steps:
Add the .mgJSON file to a composition that also contains the target layers.
Select both the .mgJSON layer and the target layers.
Select Layer > Time > Align Video to Data.
For this to work, the mgJSON file must contain a videoSyncTimeList group that contains:
- The name of one or more target layers (fileName)
- The number of frames to offset (frameNumber) those layers from the start of the data layer.
A fileName value must be the layer name of a selected layer, not therce name of the layer. If you change the name of a layer with a source in your composition, for example - rename the layer "sample1.mp4" to "Race Camera 1", you also need to change the fileName value in the mgJSON file to match. Layers referenced by fileName do not have to be footage items with a source file, they can also be solids, nested compositions, or other layer types.
Positive frameNumber values offset the target layer to the left (before the data layer). Negative frameNumber values offset the target layer to the right (after the data layer). A frameNumber value of 0 aligns the start of the target layer to the start of the data layer.
Support for CSV (.csv) and TSV (.tsv or .txt)
You can import Comma-separated value (.csv) and Tab-separated value (.tsv or .txt) files as footage into After Effects and use them as data sources. CSV and TSV files store tabular data in plain text format with values separated either by comma characters or tab characters. The CSV and TSV data files work similar to how the JSON files work.
To use CSV or TSV data files in After Effects, follow these steps:
Import a CSV or TSV file into your project as footage, similar to how you import a video, audio, or other files. Use any of the following ways to import your files as footage:
- Select File > Import > File.
- Right-click the Projects panel and select Import > File type.
- Double-click the Projects panel.
The file is added to your project window. Create a composition with the file.
In the Timeline panel, twirl open the properties of the footage. Link the data properties of the layer in the composition to another layer with the expression pick whip, or the Property Link pick whip. To open the expressions text field, hold Shift and select the timer icon against the layer's name. You can also link the data properties through the Edit > Copy With Property Links command.
To learn about layer data properties in the Timeline, see Basics of Data properties.
To reference the data footage file, use an expression on the property that you want the data to drive. Use the dataValue() footage attribute to read the data from a specified row and column. Rows and columns are zero-indexed. For example, footage("sample.tsv").dataValue([15,1])returns the value on row 16 of the second column.
Basics of Data properties
When you add a JSON, CSV, or TSV file to a composition and open their properties, they contain only a Data properties group, instead of the Transform properties group. The Data properties group contains the hierarchy of data as defined in the file.
This data group is similar to how After Effects treats Motion Graphics JSON (.mgJSON) files. The difference is that JSON, CSV, and TSV can only contain static data values, while mgJSON can contain dynamic data (data that changes over time).
Each individual data property has an expression applied that links that property to the data in the JSON, CSV, or TSV file. If you change the source data file, the data property values reflect the change.
Link properties with the Property Link pick whip
If you do not want to write complex expressions, you can use the Property Link pick whip, or the Edit > Copy with Property Links command to link the data properties to properties of other layers. As you link the layers, the Property Link picks whip automatically writes expressions for you.
Custom expression function libraries - JSX
Known issues with Data-driven animation
While you work with Data-driven animations in After Effects, you can run into a few issues. For a complete list, see known issues with Data-driven animations.