マニュアル キャンセル

データ駆動型アニメーションの操作

このドキュメントでは、データ駆動型アニメーションの操作方法について説明します。

データ駆動型アニメーションは、コンポジションでアニメーションを動作させる様々なデータソースから収集されたライブデータを使用して作成されます。複数のデータソースからのデータを使用できます。静的なデータでも、時間的に変化するデータでもかまいません。データを After Effects プロジェクトに読み込んで入力として使用し、グラフやキャラクター、コントロールビジュアルエフェクト、動画のタイトル、その他のモーショングラフィックスをアニメーション化できます。

データ駆動型アニメーションの例
データ駆動型アニメーションの例

データソース

次のソースを含め、ほぼすべてのソースからのデータを使用できます。

  • デバイス生成データファイル – センサーを使用してアクティビティを記録し、様々なファイル形式で保存するデバイス(フィットネストラッカーなど)から得られるデータ。これは時間とともに変化するデータで、速度、高度、距離、心拍数など、ユーザーの活動の様々なパラメーターが含まれます。
  • ユーザー生成の静的データ – 調査結果など、変化をグラフィックの動作で表現できるグローバルな静的データ。ユーザーにより生成されるデータファイルは、グローバルデータのワークフローを提供することもできます。
  • URL – ユーザーが Web ページに出入りする経路など、Web サイトから得られるライブデータ。
  • メタデータ - ビデオファイルメタデータに埋め込まれているデータ。

入力形式

データファイルは次の形式で読み込むことができます。

  • JSON
  • MGJSON
  • CSV
  • TSV
  • BVH

他の形式のデータファイルがある場合は、サポートされている読み込みファイル形式に変換して、After Effects プロジェクトに読み込みます。データファイルを After Effects でサポートされている形式に変換するツールにはいくつかの種類があります。

標準 JSON(.json)のサポート

標準 JSON ファイルは After Effects にフッテージとして読み込むことができ、データファイルはバックグラウンドで機能します。After Effects はこれらのデータファイルのデータを直接参照してプロジェクト内のアニメーションを動作させます。JSON フッテージはタイムラインパネルにデータストリームとして表示されません。これらのデータはエクスプレッションを使用して評価対象の JSON オブジェクトとして参照できます。

エクスプレッションを編集して、データの参照方法を変更できます。 これらのデータはテキストエディターで書き込むことができ、After Effects ではそれを参照してアニメーションを動作させます。JSON サポートは JSON スキーマに基づいており、アプリケーションでの JSON データの使用および変更方法は、このスキーマで指定および定義されています。

JSON の基本データ型は次のとおりです。

  • 数値:符号付き 10 進数
  • 文字列:ゼロ個以上の Unicode 文字のシーケンス
  • ブール値:true か false のどちらかの値
  • 配列:ゼロ個以上の値の順序付きリスト
  • オブジェクト:名前(キー)と値のペアの順不同なコレクション(名前は文字列)
  • null:空値(キーワード「null」を使用)
注意:

Adobe Media Encoder を使用する必要がある場合、またはコンポジションを Premiere Pro にリンクする場合は、プロジェクトパネルにあるデータエントリを参照するエクスプレッションを使用するのではなく、データソースファイルをタイムラインに追加します。データファイルをコンポジションレイヤーとして追加すると、「ファイルを収集」を選択したときにも、そのファイルが確実にコピーされます。

After Effects での JSON ファイルの操作

標準 JSON ファイルを操作するには、次の手順に従います。

  1. ファイル読み込みファイルを選択します。

  2. .JSON ファイルを選択し、「開く」を選択します。

  3. そのファイルがプロジェクトウィンドウに追加されます。フッテージを含むコンポジションを作成します。

  4. コンポジションに平面を追加します。平面を追加するには、レイヤー新規平面を選択します。

  5. タイムラインパネルで、平面レイヤーのプロパティを開きます。Windows の場合は Alt キー + クリックmacOS の場合は + クリックを使用して不透明度パラメーターを開きます。

  6. エクスプレッションのデータを変更すると、アニメーションを変更できます。すべての情報を含む JSON データとデータファイルを制御できます。

  7. また、JSON ファイルを別の JSON ファイルに置き換えて、参照されるデータを変更することもできます。ファイルを置き換えるには、フッテージの置き換え/ファイルを選択し、新しいファイルをコンピューターから開きます。

データを使用するには、データをアニメーション表示するプロパティにエクスプレッションを適用した後、

  1. sourceData 属性を使用して、.JSON ファイルのデータを読み込みます。例えば、次のようになります。

    var sampleData = footage(“sampleson”)ourceData;
    var sampleData = footage(“sampleson”)ourceData;
    var sampleData = footage(“sampleson”)ourceData;
  2. その値を返すには、JSON データ内の特定のプロパティを参照します。次に例を示します。

    myData.engineData.RPM or myData.latitude.value.
    myData.engineData.RPM or myData.latitude.value.
    myData.engineData.RPM or myData.latitude.value.

モーショングラフィックス JSON(.mgJSON)のサポート

MGJSON データファイルはフッテージとしてプロジェクトに読み込むことができます。コンポジションにデータフッテージを追加すると、「Data」という名前の最上位グループにデータプロパティストリームがグループ化されます。Data グループではフッテージデータがプロパティとして表示されます。Data グループ内の各プロパティは、フッテージファイルに再びリンクされたエクスプレッションとなり、このフッテージファイルはエクスプレッション footage("foo.mgjson").dataValue(N) を使用してデータファイルの値にアクセスします。N は、ファイル内のデータストリームへのパスです。MGJSON は、After Effects におけるデータストリームの参照と読み込みを簡素化することを目的に設計されたスキーマに基づいて動作します。

各データプロパティには、そのプロパティを MGJSON ファイル内のデータにリンクするエクスプレッションが適用されます。ソース MGJSON ファイルが変更されると、データプロパティ値が自動的に更新されます。

タイムラインパネルで、データレイヤーを開き、ピックウイップを使用してパラメーターを他のパラメーターにリンクできます。変更内容が自動的に設定されます。

After Effects での MGJSON フッテージの操作

MGJSON ファイルを操作するには、次の手順に従います。

  1. ファイル読み込みファイルを選択します。

  2. 読み込むには MGJSON ファイルを選択し、「開く」を選択します。

  3. そのファイルがプロジェクトウィンドウに追加されます。フッテージを含むコンポジションを作成します。

  4. プロジェクトにアセットを読み込んでコンポジションに追加します。

  5. タイムラインパネルで、フッテージのプロパティを開きます。

  6. アセットのプロパティの 1 つ(例えば回転)を、データレイヤーのデータストリームの 1 つにピックウイップします。これで、そのアセットプロパティがデータレイヤー内のデータを参照するようになります。反映される各データストリームには、フッテージファイルからそれぞれの値を引き出すエクスプレッションがあります。

  7. フッテージをプレビューすると、アセットがデータレイヤーのデータストリームに基づいてアニメートされます。

データファイル内のデータサンプルをキーフレームに変換することもできます。キーフレームに変換するには、次の手順に従います。

  1. MGJSON ファイルをプロジェクトに読み込み、タイムラインパネルにドラッグします。

  2. データレイヤーを右クリックし、メニューのキーフレーム補助データからキーフレームを作成を選択します。

  3. キーフレームを表示するには、データレイヤーを開きます。

注意:

キーフレーム変換後、データはライブデータではなくなり、データファイルから参照されなくなります。

グラフエディターでライブデータをグラフとして表示することもできます。表示するには、タイムラインパネルで「グラフエディター」アイコンを選択します。

データ駆動型アニメーションは、エクスプレッションのリファレンスを使用します。詳しくは、データ駆動型アニメーション(エクスプレッションのリファレンス)を参照してください。

ビデオの時間を mgJSON データに揃える

レイヤー時間ビデオをデータに揃えて配置コマンドは、mgJSON ファイルに指定されているとおりに様々なフレームごとにビデオのレイヤーをオフセットします。このコマンドを使用すると、一致する mgJSON ファイルに保存されているデータサンプルに合わせてビデオ時間を調整できます。例えば、レース中にデータをキャプチャしたが、ビデオの開始時間がキャプチャしたデータの開始時間と一致しない場合は、データを自動的に揃えるようにオフセットを指定できます。

ビデオの時間を mgJSON データに揃えるには、次の手順を使用します。

  1. .mgJSON ファイルをターゲットレイヤーも含むコンポジションに追加します。
  2. .mgJSON レイヤーとターゲットレイヤーを選択します。
  3. レイヤー時間ビデオをデータに揃えて配置を選択します。

これが機能するには、mgJSON ファイルに次のものを含む videoSyncTimeList グループが含まれている必要があります。

  • 1 つ以上のターゲットレイヤーの名前(fileName)
  • データレイヤーの開始点からレイヤーをオフセットするフレーム数(frameNumber)。

例えば、次のようになります。

"videoSyncTimeList": [
  {
    "fileName": "sample1.mp4",
    "frameNumber": 1000
  },

  {
    "fileName": "sample2.mp4",
    "frameNumber": -1000
  }

fileName 値は、レイヤーのソース名ではなく、選択したレイヤーのレイヤー名である必要があります。コンポジションでソースのレイヤーの名前を変更した場合(例えば、レイヤー「sample1.mp4」を「Race Camera 1」に名前変更した場合)、mgJSON ファイルの fileName 値も一致するように変更する必要があります。fileName によって参照されるレイヤーはソースファイルの含まれているフッテージアイテムである必要はなく、平面、ネストしたコンポジション、または他のレイヤータイプも使用できます。

正の frameNumber 値は、ターゲットレイヤーを左にオフセットします(データレイヤーの前)。負の frameNumber 値は、ターゲットレイヤーを右にオフセットします(データレイヤーの後)。frameNumber 値を 0 にすると、ターゲットレイヤーの開始点がデータレイヤーの開始点に揃えられます。

CSV(.csv)と TSV(.tsv または .txt)のサポート

カンマ区切り値(.csv)ファイルとタグ区切り値(.tsv または .txt)ファイルを After Effects にフッテージとして読み込み、データソースとして使用できます。CSV ファイルと TSV ファイルには、テキスト形式の表形式データが保存されており、値はカンマ文字またはタブ文字で区切られています。CSV および TSV データファイルは、JSON ファイルと同様に機能します。

After Effects で CSV または TSV データファイルを使用するには、次の手順に従います。

  1. ビデオ、オーディオまたはその他のファイルと同様に、CSV または TSV ファイルをプロジェクトにフッテージとして読み込みます。次のいずれかの方法を使用して、ファイルをフッテージとして読み込みます。

    • ファイル読み込みファイルを選択します。
    • プロジェクトパネルを右クリックして、読み込みファイル形式を選択します。
    • プロジェクトパネルをダブルクリックします。
  2. そのファイルがプロジェクトウィンドウに追加されます。ファイルを含むコンポジションを作成します。

  3. タイムラインパネルで、フッテージのプロパティを開きます。コンポジションのレイヤーのデータプロパティをエクスプレッションピックウイップまたはプロパティリンクピックウイップを持つ別のレイヤーにリンクします。エクスプレッションテキストフィールドを開くには、Shift キーを押しながら、レイヤーの名前に対するタイマーアイコンを選択します。データプロパティは、編集プロパティリンクと一緒にコピーコマンドを使用してリンクすることもできます。

    タイムラインのレイヤーデータプロパティについて詳しくは、データプロパティの基本を参照してください。

  4. データフッテージファイルを参照するには、データを動作させるプロパティのエクスプレッションを使用します。dataValue() フッテージ属性を使用して、指定した行および列からデータを読み取ります。行および列のインデックスはゼロから始まります。例えば、footage("sample.tsv").dataValue([15,1])は 2 番目の列の 16 行目の値を返します。

データプロパティの基本

JSON、CSV または TSV ファイルをコンポジションに追加してプロパティを開くと、プロパティには、トランスフォームプロパティグループではなくデータプロパティグループのみが含まれています。データプロパティグループには、ファイルで定義されているデータの階層が含まれています。

タイムラインパネルの JSON データプロパティグループ
タイムラインパネルの JSON データプロパティグループ

タイムラインパネルの CSV および TSV データプロパティグループ
タイムラインパネルの CSV および TSV データプロパティグループ

このデータグループは、After Effects がモーショングラフィックス JSON(.mgJSON)ファイルを扱う方法と似ています。違いは、JSON、CSV および TSV には静的データ値のみが含まれていますが、mgJSON は動的データ(時間の経過に従って変更されるデータ)を含むことができることです。

各データプロパティには、そのプロパティを JSON、CSV または TSV ファイル内のデータにリンクするエクスプレッションが適用されます。ソースデータファイルを変更した場合は、データプロパティ値にその変更が反映されます。

プロパティリンクピックウイップを持つリンクプロパティ

複雑なエクスプレッションを記述したくない場合は、プロパティリンクピックウイップ、 または編集プロパティリンクと一緒にコピーコマンドを使用して、データプロパティを他のレイヤーのプロパティにリンクできます。レイヤーをリンクすると、プロパティリンクピックウイップによってエクスプレッションが自動的に記述されます。

カスタムエクスプレッション関数ライブラリ - JSX

After Effects 15.0 では、カスタム JavaScript 関数を定義する JSON ファイルを読み込み、カスタムエクスプレッション関数のライブラリとして使用できました。After Effects 15.1 では、JavaScrpt オブジェクトは JSON の正しい構文ではありません。After Effects 15.1 では、不正な構文を持つ JSON ファイルの読み込みを許可しない厳格な異なる JSON パーサーが使用されます。

After Effects 15.1 で定義された JavaScript 関数を含む JSON ファイルを読み込もうとしたり、そのようなファイルが含まれているプロジェクトを開こうとすると、After Effects でエラーが表示されます。

この問題を回避するには、JavaScript 構文拡張ファイル(.jsx)を After Effects 15.1 に読み込みます。JSX ファイルの内容は After Effects 15.0 に読み込んだ JSON ファイルと同じです。必要なのはファイル名拡張子を .jsx に変更することだけです。機能しない JSON ファイルを含む既存のプロジェクトを開く場合は、ファイルフッテージの置き換えを使用して、JSON ファイルを JSX ファイルに置き換えます。JSON ファイルへのエクスプレッションのリファレンスは、JSX ファイルへのリファレンスに置き換えられます。

データ駆動型アニメーションの既知の問題

After Effects でデータ駆動型アニメーションを操作している際に、いくつかの問題が発生することがあります。完全なリストについては、データ駆動型アニメーションの既知の問題を参照してください。

ヘルプをすばやく簡単に入手

新規ユーザーの場合