要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成

After Effectsで要素に追従するアニメーション、徐々に遅れて要素に追従するアニメーションの作成手順を紹介します。

手順

After Effectsを開き、コンポジションを作成し、画像を2つ配置します。 1つ(大きい星)はパスに沿って動くアニメーションを作成し、もう一つ(小さい星)は大きい星を追従するアニメーションにします。
要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成:画像1

パスを描画して、大きい星をパスに沿って動かします。 詳しくはこちらの記事を参照してください。
要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成:画像2
要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成:画像3

レイヤー名を利用するため、わかりやすいレイヤー名に変更します。 大きい星のレイヤーを"star"、小さい星のレイヤーを"star follow"に変更します。
要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成:画像4

タイムラインパネルで[star follow]のレイヤー項目を展開し[トランスフォーム]の[位置]の項目をクリックして選択します。
要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成:画像5

右クリックしてポップアップメニューを表示します。[エクスプレッションを編集]の項目をクリックします。
要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成:画像6

エクスプレッションの編集エリアが表示されます。
要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成:画像7

以下のコードをエクスプレッションのエリアに入力します。

追従するアニメーションのエクスプレッションコード
var target = thisComp.layer("star");
var delay = 0.5;
var targetTime = time - delay < 0 ? 0 : time - delay
var targetPos = target.transform.position.valueAtTime(targetTime);
targetPos;

要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成:画像8

解説

starレイヤーの要素を取得します。

var target = thisComp.layer("star");

追従に遅延する秒数を設定します。遅延がないと、大きい星と同じ位置で移動するため、追従にはなりません。 0.5秒遅れで追従する設定とします。0.5秒遅れの targetTime が負の値にならないチェックを入れています。

var delay = 0.5;
var targetTime = time - delay < 0 ? 0 : time - delay


追従元の要素の0.5秒前の位置を取得して、自分の位置とします。

var targetPos = target.transform.position.valueAtTime(targetTime);
targetPos;

動作確認

タイムラインパネルの[現在の時間インジケーター]をドラッグする、またはプレビュー再生して、 大きい星に追従して小さい星がアニメーションする動作を確認します。~

要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成:画像9

徐々に遅れて追従する場合

徐々に遅れて追従するアニメーションにする場合は、アニメーションが進むにしたがって、 遅延する秒数を増加させるコードにします。
エクスプレッションのコードを以下のコードに変更します。

徐々に遅れて追従するエクスプレッション
var target = thisComp.layer("star");
var initialDelay = 0.2;
var delayRate = 0.15;
var currentDelay = initialDelay + delayRate * time;
var targetTime = time - currentDelay < 0 ? 0 : time - currentDelay
var targetPos = target.transform.position.valueAtTime(targetTime);
targetPos;

要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成:画像10

解説

starレイヤーの要素を取得し、初期の遅延時間と一秒ごとの遅延秒数を設定します。 今回は、初期の遅延は0.2秒、1秒ごとに0.15秒遅延する設定にしました。

var target = thisComp.layer("star");
var initialDelay = 0.2;
var delayRate = 0.15;


遅延する秒数を決定します。負の値にならないためのチェックも入れます。

var currentDelay = initialDelay + delayRate * time;
var targetTime = time - currentDelay < 0 ? 0 : time - currentDelay

追従元の要素の遅延秒数前の位置を取得して、自分の位置とします。

var targetPos = target.transform.position.valueAtTime(targetTime);
targetPos;


動作確認

タイムラインパネルの[現在の時間インジケーター]をドラッグする、またはプレビュー再生して、 大きい星に追従して小さい星がアニメーションし、徐々に距離が開いていく動作を確認します。

要素に追従するアニメーションを作成する - 徐々に遅れて追従するアニメーションの作成:画像11

動画

作成した動画は以下です。


AuthorPortraitAlt
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。 最近は生成AIの画像生成の沼に沈んでいる。
作成日: 2025-01-05
Copyright © 1995–2025 iPentec all rights reserverd.