このSDKでできること
この SDK は、開発者がプラグインを構築するために使用するアプリケーション プログラミング インターフェイス (API) について説明します。これらのプラグインは、After Effects および After Effects API をサポートする他のアプリケーションの機能を拡張できます。プラグインは、After Effects と別のアプリケーション間のギャップを埋めるために使用することもできます。
この SDK を使用してどのようなプラグインを構築できますか?
Section titled “この SDK を使用してどのようなプラグインを構築できますか?”エフェクトプラグインは、コンポジション内のビデオまたはオーディオに適用して、ビデオおよび/またはオーディオデータを処理できます。組み込みエフェクトの例としては、明るさとコントラスト、色相/彩度、ガウスぼかし、ワープ スタビライザーなどがあります。エフェクトプラグインは、ユーザーがエフェクトを微調整するためのパラメーター コントロールのセットを提供できます。これらのパラメータ値は時間の経過とともに変化する可能性があり、エフェクトは出力を計算するために異なる時点で他のレイヤーやパラメータを使用する場合があります。すべてのプラグインはエフェクトであると考えられがちです。ただし、エフェクトは After Effects で使用されるプラグインの 1 種類にすぎません。
エフェクトの構築に関するクイックスタート ビデオ (macOS 上) をご覧ください: adobe.ly/2sjMDwM
After Effects 汎用プラグイン (AEGP) は、After Effects プロジェクトと環境設定のほぼすべての要素を読み取り、変更できます。メニュー項目を追加したり、「フック」(自分自身を受信するように登録したり)して After Effects の内部コマンドをトリガーしたり、After Effects UI 内でドッキングしたりサイズ変更したりする新しいパネルを追加したりできます。マーカーとキーフレームを操作し、レンダー キューを管理できます。スクリプトを実行することもできます。組み込み AEGP の例としては、AAF インポーターや SWF エクスポーターなどがあります。自動 Duck Pro Import AE もよく知られた AEGP です。
After Effects 入出力 (AEIO) プラグイン は、新しいメディア ファイル タイプをサポートします。解釈設定を指定するためのカスタム セットアップ ダイアログが必要でない限り、Premiere Pro Importers API は同様の機能を提供するため、多くの場合に推奨されます。 AEIO は、AEGP API と AEIO 固有の特定の API を使用します。 After Effects は引き続き Photoshop 形式のプラグインとフィルター、Foreign Project Format(FPF)プラグインをサポートしていますが、これらの API は長い間非推奨であり、AEIO API が優先されています。
BlitHook プラグインは、ブロードキャスト品質のモニタリングとテープへの再生のためにビデオを外部ハードウェアに出力します。 EMP サンプル プロジェクトは開始点を提供します。 After Effects CC 2014 以降では、Mercury Transmit が推奨 API です。
Artisans は、After Effects から 3D レンダリングを引き継ぎ、3D レイヤーのレンダリング出力を提供します (After Effects は引き続き 2D レイヤーのレンダリングをすべて処理します)。 Artisan は、Artisans に固有の特定の API とともに AEGP API を使用します。上で説明した必要な統合の種類が見つかりませんでしたか? After Effects は非常に柔軟であり、After Effects と統合する方法は他にもいくつかあります。 Other Integration Possibilities を参照してください。
プラグインは After Effects のどこに表示されますか?
Section titled “プラグインは After Effects のどこに表示されますか?”エフェクトプラグインは、PiPL で指定されたエフェクト カテゴリの [エフェクト] メニューと [エフェクト & プリセット] パネルの両方に表示されます。適用されると、エフェクトのパラメーター コントロール (スライダー、ポップアップなど) がエフェクト コントロール パネル (ECP) に表示されます。
After Effects 汎用プラグイン(AEGP)は、After Effects メニューに項目を追加したり、ウィンドウ メニューにリストされているパネルを追加したりできます。これらのメニュー項目は、After Effects 独自のメニュー項目と区別できません。
AEIOs および Photoshop Format プラグインは、インポーターの種類に応じて、ファイル > インポート メニュー、または ファイルのインポート ダイアログの ファイルの種類 ドロップダウンに表示されます。 AEIO および Format プラグインは、レンダー キューで利用可能な出力フォーマットとして表示されることもあります。
BlitHook プラグインは AE によって自動的にロードされて使用されますが、メニューやダイアログには表示されません。プラグインは、オプションで、独自のカスタム設定ダイアログを開くメニュー項目を提供する場合があります。 AEGP API を使用してメニュー項目を登録および更新します。
AEGP_RegisterUpdateMenuHook() を使用してメニューを更新するために After Effects によって呼び出されるように登録でき、AEGP_EnableCommand()/DisableCommand() を使用してメニュー項目を暗くしたりアクティブにしたりできます。
アーティザンは、コンポジション設定 ダイアログの 詳細 タブにある レンダリング プラグイン ドロップダウンに表示されます。
After Effects はプラグインとどのように連携しますか?
Section titled “After Effects はプラグインとどのように連携しますか?”C または C++ で書かれたプラグインは、macOS ではバンドル パッケージであり、Windows では DLL です。両方のプラットフォームでプラグイン プロパティ リスト (PiPL Resources) リソースが含まれている必要があります。 After Effects でプラグインをロードして使用するには、プラグインをいくつかの特定のフォルダーのいずれかに配置する必要があります。
エフェクトプラグインの場合、After Effects はコマンドセレクター(および関連情報)をエフェクトの PiPL Resources リソースで指定されたプラグイン Entry Point に送信します。セレクターは、ユーザーが実行するアクション (エフェクトの適用、パラメーターの変更、タイムライン内のフレームのスクラブ、すべてのプロンプトのレンダリングなど) に応じて送信され、さまざまなセレクターのシーケンスが表示されます。
After Effects は、各シーケンスに固有の設定と入力データを使用して、エフェクトの複数のインスタンスを作成します。すべてのインスタンスは同じグローバル データを共有し、シーケンス内のすべてのフレーム間でデータを共有できます。。 After Effects は、ユーザーがエフェクトを適用するとすぐにすべての画像データを処理するわけではありません。出力が必要な場合にのみエフェクトを呼び出します。
After Effects 汎用プラグイン(AEGP)は、アプリケーションの起動時に呼び出されるエントリ ポイント関数を持ち、その時点で必要なメッセージングを登録します。 AEGP へのさらなる呼び出しは、メニュー コマンドまたは UI イベントに対するプラグインの応答の一部として、ユーザー アクションによって開始されます。プラグインの機能によっては、UI 作業やスレッド管理のために、OS 固有のエントリ ポイントにも応答する必要がある場合があります。
BlitHook プラグインの場合、フレームはコンポジションパネルに表示されるときにプッシュされます。ユーザーはタイムラインの領域で RAM プレビューを開始して、RAM にレンダリングし、すべてがフルスピードで再生されるようにすることができます。
SDK の内容
Section titled “SDK の内容”SDK には、After Effects API を定義するヘッダー、統合機能を示すサンプル プロジェクト、およびこの SDK ガイドが含まれています。
これらは、プラグインで使用されるさまざまな After Effects 機能を公開する SDK ヘッダー ファイルでコンパイルされます。