[概要]
選択レイヤーのインポイントからアウトポイントにかけて、指定した%サイズに自動で拡大もしくは縮小させるエクスプレッションを仕込むスクリプト。
[使い方]
- スクリプトを適用したいレイヤーを全て選択する
- スクリプトを実行する
キーフレームなしでインポイントからアウトポイントにかけて120%に拡大していく。
[オプション]
- 拡大・縮小の倍率は「拡大率」エフェクトで指定する
- 元のスケールからアウトポイントで拡大率通りの大きさになる
- 「ズームアウトにする」チェックボックスをONでズームアウトになる
[解説]
var sel=app.project.activeItem.selectedLayers;
function f_auto_scaleAnimator(){
var fx=[];
var fxName1="ズームアウトに";
var fxName2="拡大率";
for(i=0;i<sel.length;i++){
if(sel[i].property("ADBE Effect Parade")(fxName1)==null){
fx[0]=sel[i].property("ADBE Effect Parade").addProperty("ADBE Checkbox Control");
fx[0].enabled=false;
fx[0].name=fxName1;
fx[0](1).setValue(0);
fx[1]=sel[i].property("ADBE Effect Parade").addProperty("ADBE Slider Control");
fx[1].enabled=false;
fx[1].name=fxName2;
fx[1](1).setValue(120);
}
sel[i].scale.expression=
'secondScale=effect("'+fxName2+'")(1)/100;\r'+
'if(effect("'+fxName1+'")(1)==0){\r'+
'linear(time, inPoint, outPoint, value, value*secondScale);\r'+
'}else{\r'+
'linear(time, inPoint, outPoint, value*secondScale, value);\r'+
'}\r';
}//for
}
app.beginUndoGroup("[auto]scaleAnimator");
f_auto_scaleAnimator();
app.endUndoGroup();
選択レイヤーに「チェックボックス制御」と「スライダー制御」エフェクトを適用し、それぞれが「ズームアウトに」ボタン、「拡大率」スライダーとなります。
さらにスケールへ下記エクスプレッションを追加し、
secondScale=effect("拡大率")(1)/100;
if(effect("ズームアウトに")("チェックボックス")==0){
linear(time, inPoint, outPoint, value, value*secondScale);
}else{
linear(time, inPoint, outPoint, value*secondScale, value);
}
インポイントからアウトポイントまでリニアな拡大・縮小をキーフレームなしで実現でき、時間を伸ばしたり縮めたりする際にキーフレームの修正の手間がなくなります。
もし初めから複数レイヤーをズームアウトに設定したい場合、このスクリプトを適用後、関連スクリプトの「[batch]tgl@scaleAnimator.jsx」を追加で適用できます。
この記事へのコメントはありません。