《タイヤを回転!》移動距離の分だけ円を回転させる方法

Adobe AfterEffects で車などを表現するときに、タイヤがリアルに回転するとアニメーションの質が大幅に上がります。

今回は、移動距離からタイヤの回転量を計算し、実際に回転させる処理を作成したのでご紹介します。

※ エクスプレッションの使い方については以下の記事で説明していますのでご覧ください。
関連記事

AfterEffectsには、エクスプレッションという、Javascriptのエンジンを使ったプログラミングができるようになっています。 このエクスプレッションを使うことで、様々な計算やアニメーションを自動化し、制作を最大限に効率化[…]

エクスプレッションの使い方

実現イメージ

以下の動画のように移動距離と同じ分だけタイヤが回転します。

処理イメージ

移動距離を円周で割り、360度を掛け合わせることで回転した角度を計算します。

事前準備

① 新規コンポジションを作成(1920×1080)

② シェイプレイヤーを作成し、「長方形」と「楕円形」、「線」を追加。[楕円形パス] – [サイズ] を [400, 400] に設定後、レイヤー名を「layer0001」に変更。

③ [トランスフォーム] – [位置] を [0, 540] に設定し、以下のコードを位置のエクスプレッションにコピペ

var nAddX = Math.pow(time, 2) * 200;
add(thisProperty,[nAddX, 0]); 

これで準備OKです。この状態で再生すると右に移動しますが、まだ回転はしません。

処理内容

移動距離を回転角度に変換する関数を作成しました。

※ 関数については以下の記事で説明していますのでご覧ください。
関連記事

AfterEffectsのエクスプレッション内で、時間計算など、同じ処理を何度もする場合もあると思います。 そんな時は、関数を使うと記述量を大幅に減らせる可能性があります。 この関数の使い方についてご紹介します。 関数と[…]

自作関数を使って処理を再利用する方法

以下のコードを「layer0001」の角度のエクスプレッションにコピペします。

//c 2021 COLORCODE-AE
//移動距離を円の回転角度に変換
function changeDistanceToCircleRotation(anStartPosition, anNowPosition, nRadius){
    var nDistance = length(anStartPosition, anNowPosition);
    var nCircumference = nRadius * 2 * Math.PI;
    return ((nDistance % nCircumference) / nCircumference) * 360; 
}
//関数を使う
var anStartPosition = thisLayer.transform.position.valueAtTime(0);
var anNowPosition = thisLayer.transform.position;
var nRadius = 200;
changeDistanceToCircleRotation(anStartPosition, anNowPosition, nRadius);

これで完成です。再生すると、移動に合わせてレイヤーが回転すると思います。

処理説明

今回作成した関数「changeDistanceToCircleRotation」を使うことで、移動距離を回転角度に変換します。

関数の使い方

関数「getProjectileMotionPosition」には引数が3つあります。

  1. anStartPosition・・・移動前の位置
  2. anNowPosition・・・現在の位置
  3. nRadius・・・円の半径(ピクセル)

①の移動前位置はvalueAtTimeを使って取得し、②は現在の位置ををのまま取得します。③は円の半径なので、円の大きさによって調整します。

関数説明

関数「getProjectileMotionPosition」では以下の処理をしています。

  1. 移動距離を計算
  2. 円の直径を計算
  3. 移動距離と円の直径から現在の角度を計算

まとめ

今回はシェイプレイヤーを回転させましたが、タイヤの画像を使うと、冒頭の動画のような映像を作ることができます。

車輪がついたものであればなんでも使えますのでお試しください。

移動距離の分だけ円を回転させる方法
最新情報をチェックしよう!
>Aeをもっと便利に。「COLOR CODE - AE」

Aeをもっと便利に。「COLOR CODE - AE」

AfterEffectsをもっと便利に使う為のコンテンツを制作・発信しているブログです。YouTube「COLOR CODE - AE チャンネル」では、エフェクト、エクスプレッション、プリセット、プラグインのリファレンス動画を公開しています。チャンネル登録もお待ちしています!

CTR IMG