Parameters — After Effects SDK Guide 22.0.0 documentation
パラメータとは、時間によって変化する値の流れのことで、元画像、スライダー、角度、点、色、パスなど、ユーザーが操作できる任意のデータ型があります。
これらはPF_ParamDefの配列としてプラグインに渡されますが、配列内の値は特定のセレクタの間だけ有効です。
After EffectsのエフェクトAPIの最も優れた点の1つは、パラメータの補間と管理です。
29.97fpsの1/4フレームでシャッター角はどのくらい変化するのか?そんなことはありません。After Effectsにお任せください。
PF_Cmd_PARAM_SETUP時に、PF_ADD_PARAMを使用してプラグインのパラメータを記述します。
パラメータは最大38万個まで、またはユーザーが払い戻しを要求する前に調べようとする数まで設定できます。賢く選んでください。
PF_ParamDefを登録する前にAEFX_CLR_STRUCT(AE_Macros.hで定義)でクリアすることにより、無数の問題を回避することができます。
Parameter Type | Parameter Type | PF_ParamDefUnion Member | Param Value Data Type | Description |
---|---|---|---|---|
PF_Param_LAYER | PF_LayerDef | ld | A_long | コンポジション内の画像と音声のレイヤー。すべてのエフェクトは、自動的に少なくとも1つのレイヤーパラメータ、param[0](適用されるレイヤ)を持ちます。エフェクトパラメータとして使用する場合、これらはプルダウンメニューとして表示され、ユーザーは現在のコンポジション内のレイヤーを選択することができます。プルダウンメニューの内容は、After Effectsで生成されます。注:これはピクセルとオーディオサンプルを含むレイヤーへの参照であり、実際のピクセルとオーディオサンプルではありません。 |
PF_Param_SLIDER | PF_SliderDef | sd | long | 使用しなくなりました。 |
PF_Param_FIX_SLIDER | PF_FixedSliderDef | fd | PF_Fixed | 非推奨です。長年にわたり、固定スライダーを推進してきました。現在は、PF_Param_FLOAT_SLIDER を推奨しています。精度の向上は多くの場面で役立ちますし、かつてのように高価なものではありません。さらに、ローバイト/ハイバイトのバカバカしさにもうんざりしています。FIX_SLIDER はPF_Param_SLIDER より高精度です。UI小数点以下は独立して指定する。PF_Fixed の下位ワードを無視して積分結果を得ることができる。 |
PF_Param_FLOAT_SLIDER | PF_FloatSliderDef | fs_d | PF_FPLong | スライダーは数値を表します。FLOAT_SLIDER には、オーディオフィルターで使用される位相、精度、カーブトレランスの値が含まれています。 |
最小値と最大値を指定し、ユーザーがスライダーを動かしたり、数字を入力したりして設定を指定します。 | ||||
PF_Param_FLOAT_SLIDER は、Audio Filters で説明したスライダーフラグにも反応します。 |
||||
PF_Param_ANGLE | PF_AngleDef | ad | PF_Fixed | 角度は(定点)度単位で、1度未満の端数まで正確です。 |
ユーザーは複数の回転数を指定することができ、その結果、360を超える値を得ることができます。 | ||||
PF_Param_CHECKBOX | PF_CheckBoxDef | bd | PF_Boolean | PF_ParamFlag_CANNOT_INTERP がすべてのチェックボックスで強制的にオンになります。 |
PF_Param_COLOR | PF_ColorDef | cd | PF_Pixel | RGB値(アルファは使用しない)で、標準のカラーピッカーまたはスポイトツールで選択できる。 |
浮動小数点精度の場合は、PF_ColorParamSuite1 を使用して値を取得します。 |
||||
PF_Param_POINT | PF_PointDef | td | PF_Fixed | 2次元の点。デスティネーションレイヤー空間におけるxとyの値を提供する点です。 |
レイヤーの原点は左上で、xは右へ、yは下へと増えていく。 | ||||
CS5.5より、浮動小数点精度の場合は、PF_PointParamSuite1 を使用して値を取得するようにしました。 |
||||
ほっこり歴史の授業に続く。API仕様バージョン12.1(After Effects 4.0)以前は、基点がビット16の固定小数点(つまり標準固定小数点)で、ポイントのデフォルト値は0から100の間だった。 | ||||
固定小数点で(50,50)と指定すると、画像の中心が返されます。ポイントコントロールで返される値は、絶対ピクセルで、あるビット数の固定小数点精度を持つ。 | ||||
したがって、デフォルトの位置として(50,50)を与えた場合、ユーザーが640×480のレイヤーに効果を適用した場合、送信されるデフォルト値はFixed Pointの(320,240)となります。 | ||||
12.1以前のAPIバージョンを指定したプラグインは、以前の動作のままとなります。 | ||||
PF_Param_POPUP | PF_PopupDef | pd | A_long | 選択肢のリスト。namesptrに、(読み取り専用の)ポップアップエントリーのリスト(「Entry1 / Entry2 / Entry3」)を含む文字列を構築する。 |
After Effectsでは、データをコピーしてポップアップメニューを作成します。 | ||||
これらの項目は、一度パラメータを追加すると変更することはできません。 | ||||
(-)」を入力すると、前後の入力の間に区切り線が引かれます。 | ||||
PF_Param_ARBITRARY_DATA | PF_ArbitraryDef | arb_d | ??? | パスパラメータは、エフェクトと同じレイヤーに適用されるマスクへの参照です。 |
パスのパラメータデータには直接アクセスできません。パスの管理や問い合わせには、PF_PathQuerySuite1 やPF_PathDataSuite を使用します。 |
||||
PF_PathDef.path_id には、ユーザが選択したマスクのインデックスが格納されます。 |
||||
対応するAEGP_MaskRefH は、AEGP_MaskSuite6 からAEGP_GetLayerMaskByIndex を使用して取得することができる。 |
||||
PF_Param_PATH | PF_PathDef | path_d | PF_PathID | パラメータグループ(トピック)は、パラメータをセットで整理しています。各グループは独自のツライチになり、ECPでは隣のパラメータやグループと相対的にインデントされます。1つのグループを別のグループの中に入れ子にすることができます。それぞれのtwirlyは、ユーザーによって、あるいはエフェクトによってプログラム的に開閉することができます。エフェクトは、特定のグループをツライチスパンオープンで初期化し、他のグループをツライチスパン クローズドで初期化することを選択することができます。 |
PF_Param_GROUP_START PF_Param_GROUP_END | (none) (none) | パラメータグループ(トピック)は、パラメータをセットで整理しています。 | ||
各グループは独自のツライチになり、ECPでは隣のパラメータやグループと相対的にインデントされます。 | ||||
1つのグループを別のグループの中に入れ子にすることができます。 | ||||
それぞれのtwirlyは、ユーザーによって、あるいはエフェクトによってプログラム的に開閉することができます。 | ||||
エフェクトは、特定のグループをツライチスパンオープンで初期化し、他のグループをツライチスパン クローズドで初期化することを選択することができます。 | ||||
PF_Param_BUTTON | PF_Button | button_d | (no value) | シンプルなプッシュボタンです。ボタンが押されたことを検出するために、Parameter Supervisionを使用します。 |
CS5.5の新機能でAfter Effectsに。 | ||||
PF_Param_POINT_3D | PF_Point3D | point3d_d | PF_FpLong (3) | 3次元の点です。 |
CS5.5で新たに追加されました。Premiere Proでは未対応です。 |
スライダーが無効になっているように見えるが、グレーアウトしていない場合、valid_min、slider_min、valid_max、slider_max フィールドを確認してください。パラメータはPF_Param_FIX_SLIDER
でしょうか?もしそうなら、最小値と最大値を妥当な固定値に変換しましたか?AE_Macros.hで提供されているマクロを使用している場合、それらはintを受け取ることを想定しており、固定小数点値を渡しても機能しません。
After Effectsは、出力寸法を変更する「上流」エフェクトによって生じる原点オフセットを考慮し、任意のポイントパラメータを変更します。ECP UIでポイントパラメータの値が(0,0)と表示されていても、オフセットはすでに考慮されています。