Command Selectors — After Effects SDK Guide 22.0.0 documentation

コマンドとは、簡単に言うとAfter Effectsがエフェクトにさせたいことです。

いくつかのセレクタは必須ですが、ほとんどはオプションです。

コマンドセレクタを送信するたびに、エフェクトはAfter EffectsからPF_InDataに情報を受け取り、PF_ParamDef[]に入力とパラメータ値(入力層を含むパラメータ記述の配列)、コールバックと関数スイートにアクセスすることができます。

PF_OutDataでAfter Effectsに情報を返し、(必要に応じて)PF_LayerDef(PF_EffectWorldとも呼ばれます)に出力をレンダリングします。

イベント時には、PF_EventExtraでイベント固有の情報を受け取ります。

呼び出しの順序

最初の数個のコマンドセレクタのみが予測可能であり、残りの呼び出しシーケンスはユーザーの操作によって決定される。

最初に適用されたとき、プラグインはPF_Cmd_GLOBAL_SETUPを受信し、次にPF_Cmd_PARAM_SETUPを受信します。ユーザーがレイヤーにエフェクトを追加するたびに、PF_Cmd_SEQUENCE_SETUPが送信されます。

SmartFX以外の基本的なエフェクトでレンダリングされるフレームごとに、After Effectsは、PF_Cmd_FRAME_SETUPPF_Cmd_RENDERPF_Cmd_FRAME_SETDOWNの順で送信します。

すべてのエフェクトプラグインは、PF_Cmd_RENDERに応答する必要があります。

SmartFXでは、PF_Cmd_SMART_PRE_RENDERを何度でも送信でき、その後にPF_Cmd_SMART_RENDERを1回だけ送信することができます。

PF_Cmd_SEQUENCE_SETDOWNは、ユーザーがエフェクトを削除したり、プロジェクトを終了するときに送信されます。PF_Cmd_SEQUENCE_RESETUPは、プロジェクトがロードされたとき、または適用されるレイヤーが変更されたときに送信される。PF_Cmd_SEQUENCE_FLATTENは、After Effects プロジェクトがディスクに書き出されたときに送出されます。

PF_Cmd_ABOUTは、エフェクトコントロールウィンドウ(ECW)からAbout...を選択したときに送出されます。

PF_Cmd_GLOBAL_SETDOWNは、After Effects が終了したとき、またはエフェクトの最後のインスタンスが削除されたときに送信されます。プラグインがメモリから削除されるタイミングをこのメッセージに依存しないように、OS固有のエントリポイントを使用してください。

コマンドセレクタテーブル

グローバルセレクタ

すべてのプラグインはこれらのセレクタに対応する必要があります。

| PF_Cmd_ABOUT | プラグインを説明するダイアログを表示する。out_data>return_msg を入力すると、After Effects がシンプルなモーダルダイアログで表示します。 ダイアログには、プラグインのバージョン情報を含めてください。macOSの場合、このセレクタでカレントリソースファイルがエフェクトモジュールに設定されます。 | | --- | --- | | PF_Cmd_GLOBAL_SETUP | プラグインの動作を記述するために、必要なフラグと PF_OutData フィールド (out_data>my_version を含む) を設定します。 | | PF_Cmd_GLOBAL_SETDOWN | すべてのグローバル データを解放します (いくつか割り当てている場合のみ必要)。 | | PF_Cmd_PARAM_SETUP | パラメータを記述し、PF_ADD_PARAM を使用して登録します。 また、カスタム・ユーザ・インターフェイス・エレメントを登録します。 PF_OutData>num_params をパラメータ数に合わせて設定します。 |