レイヤーのインポイントからアウトポイントにかけて、指定した%サイズに自動で拡大もしくは縮小させるエクスプレッションを記述することで、レイヤーを伸ばしたり縮めたりする毎にキーフレームを調整しなくて良くします。
スライダーエフェクトの「拡大率」エフェクトで拡大・縮小の倍率を指定します。
「元のスケールからアウトポイントで拡大率通りの大きさになる」動きを想定しています。
また、「ズームアウトにする」チェックボックスをONでズームアウトになる仕様も盛り込みたいです。
コントローラーの準備
レイヤーにエフェクト「スライダー制御」を1つ準備します。名前は「拡大率」にリネーム。
さらに「チェックボックス制御」を追加し、エフェクト名を「拡大率」にリネーム。
エクスプレッション
レイヤーのプロパティ「スケール」へ下記エクスプレッションを追加すれば完成です。
secondScale=effect("拡大率")(1)/100;
if(effect("ズームアウトに")("チェックボックス")==0){
linear(time, inPoint, outPoint, value, value*secondScale);
}else{
linear(time, inPoint, outPoint, value*secondScale, value);
}
今回覚えるエクスプレッション
今回新しく学べるエクスプレッションは「フェードイン・アウトをエクスプレッションで自動化する」で紹介した4種類から、linear()を使用している箇所です。まだ上記のページを確認していない場合はそちらを参照ください。
解説も端折ります。
効率化できました
ドラッグしなければ変更できないキーフレームのタイミングを、計算式で指定できるということは大きなメリットになります。
インポイントからアウトポイントまでリニアな拡大・縮小をキーフレームなしで実現でき、時間を伸ばしたり縮めたりする際にキーフレームの修正の手間がなくなります。
もし複数レイヤーを一度にズーム自動化したい場合、このエクスプレッションをスクリプト化した「レイヤーを自動で拡大・縮小させるスクリプト[auto]scaleAnimator.jsx」で選択レイヤーへ今回のエクスプレッションを簡単に適用できます。ぜひスクリプトにも挑戦してみてください。
この記事へのコメントはありません。