まずは好きなエフェクトやパラメータ名を入力。もしくは選択して『PickUp』ボタンで名前をピックアップ。
*AEのエフェクト欄のパラメータは直接選択できませんが、そこをダブルクリックするとタイムラインに現れるので、それを選択するとよいです。
*エフェクトを選んでいれば『エフェクト名』のみ、
パラメータを選んでいれば『エフェクト名』に加え、
『パラメータ名』と下の『数値』を得られます。
処理を加えたいエフェクトがあるレイヤーを選ぶ。複数でも可。
コンポジション内全体でよい場合は『Layers』の『All』にチェックを入れれば、選択する必要なし。
一括処理されます!
『SelVal』ボタンを押せば、得た数値(あるいは手動入力した数値)へ一括変更できます。
チェックボックス一覧
■w/o Num:エフェクトをコピーすると自動で付いてしまう『番号』なしで名前を得ることができます。
これとincl.を組み合わせればプロパティの名前ではなく種類で一括処理が可能となります。しかし、厳密に種類で検索するときはmatchNameを推奨します。
■matchName:AEスクリプトで使われている『プロパティの種類名』を得ることができます。
名前ではなく種類で一括処理したい場合はここにチェックを入れましょう。
■incl.:文字を含むか、完全一致か。
■Layers Selected,All:処理対象が『選択レイヤー』か『コンポジション内の全てのレイヤー』か。
■key:『SetVal』で値を変えたとき、キーフレームを打つか否か。ただしキーフレームがすでに打たれている場合はチェックに関係なく打たれます。
重要
■案外、処理は『一括選択』でなんとかなる。
例えば複数キーフレームを一括コピーしたい場合、事前にキーフレームやエフェクト自身をコピーしておけば、あとは一括選択したエフェクトにペーストするだけです。案外『一括選択』で色々なことができるので、試してみてください。
■エフェクト名を空欄にすれば、パラメータ名で一括処理可能です。
できますが、あまり推奨しておりません。例えば、フラクタルノイズには「スケール」という言葉を含むパラメータがいくつもあります。「スケール」を100にしようとしたが、実は「サブスケールを中心」チェック欄も同時に検索されてしまっており、結果、チェック欄は1か0しか受け付けないのでそこでエラーとなって処理が途中で止まる、といったことがあります。使うときはmatchNameモードやincl.チェックを駆使しましょう。
■数値欄には入れられる形式が決まっています。
パラメータ欄が1つのものには1つの数値、2つのものにはコンマで区切られた2つの数値など、パラメータによって入れられる形が違います。その形式はパラメータのピックアップ結果を参考にして下さい。2つ以上の数値(配列)の場合の[]はいりません。
オリジナル処理の作り方
Noteタブの『Code』ボタンを押すと、処理コード一覧が出ます。そこに好きなコードを書けば、オリジナルの処理を作ることができます。AEスクリプトのメソッドをそのまま使っているので、色々な処理が可能です。
コピペ用例文一覧
//選択
if( i === 0 ){
var mSelLyrs = app.project.activeItem.selectedLayers;
for( var j= 0 ; j< mSelLyrs.length ; j++ ){
mSelLyrs[j].selected = false;
}
}
eachProp.selected = true;
if( i === propLength - 1 ){
app.activeViewer.setActive();
}
//目玉オンオフ
if( check === false ){
eachProp.enabled = false;
}else{
eachProp.enabled = true;
}
if( i === propLength - 1 ){
if( check === true ){ check = false; }
else{ check = true; }
}
//削除
eachProp.remove();
if( i === propLength - 1 ){
app.activeViewer.setActive();
}
メソッドはAfter Effects スクリプトリファレンス様のサイトで確認ができます。
PropertyBase object、PropertyGroup object、Property objectのサブページ『Attributes』『Methods』、またLayer Property matchNamesが参考になります。
扱える変数などは以下の通り。
- eachProp:一括処理しているプロパティorパラメータ自身。
- i:処理回数カウント。コード内に新たなfor文を作るときに i は使えません。
- propLength:対象プロパティorパラメータの総数。
- check:eachPropを処理しているfor文の外にあるチェック用変数。初期値はfalse。
- exArray : for文の外にある配列。
その他
- 『//』から続くコメントをリスト上のタイトルにしてあります。タイトルを変えたい場合はここを変えてください。
- 『//』をタイトルに使っているため、コード中にコメントは書けません。
- 『//』タイトルとコードの行間は空けずにを書くようにしてください。
- エフェクトorパラメータは降順で処理されていることに注意してください。
コツ
- for文内の記述となるので、最初と最後だけに処理を加えるには以下のようにします。
- 最初:if( i === 0 ){○○(最初だけの処理)}
- 最後:if( i === propLength – 1 ){{○○(最後だけの処理)}
- if( i === propLength – 1 ){app.activeViewer.setActive();}という処理を最後に加えることで、ウインドウのアクティブ状態がスクリプトからビューワーに移ります。これで、処理ボタンを押した直後に『Ctrl+Z』ができるようになり、比較が容易となります。
■Noteボタンを押すとメモ用のテキスト欄が出ます。
テキストは環境設定に保存されます。使い方は自由です。今は使わない構文や試したい構文などをここにストックしましょう。