linear・ease|なめらかな移動とフェードを作るAEエクスプレッション

linearとeaseで進み方を変える作例。easeの加減速を実際の値から描いた曲線と丸で表現。

開始と終了の時間を指定して、図形や文字を動かしたい。そんなときに使えるのがlinearとeaseです。一定速度の変化と、なめらかな加減速を、同じ書き方で切り替えられます。

AEエクスプレッション集の第5弾は、linearとeaseの違いから、すっと入るカード、ゆっくり現れるタイトルまで。キーフレームを打たず、時間と値を指定して作ります。

この記事で使用したAEプロジェクトを無料ダウンロードできます。ダウンロードは記事の最後から。

目次

まずは完成形:同じ距離・同じ時間で比べる

上:linearで一定速度/下:easeで加減速。どちらも1秒から動き、3秒で到着します。 6秒・音声なし。再生ボタンで動きを確認できます。

移動するX位置は280から1000。到着までの時間はどちらも2秒です。linearは途中の速さが一定、easeはゆっくり動き出し、途中で速くなり、最後にゆっくり止まります。easeに変えても、到着時刻は変わりません。

コピーして使える基本コード

上の丸の2D位置には、次の式を入れています。

linear(time, 1, 3, [280, 330], [1000, 330]);

下の丸は、関数名をeaseへ変更。見比べやすいようにY位置も530へ下げています。

ease(time, 1, 3, [280, 530], [1000, 530]);
引数の順番意味基本例
1つ目変化の基準になる値time:コンポジションの時刻(秒)
2つ目変化を始める基準値1秒
3つ目変化を終える基準値3秒
4つ目開始時の出力[280, 330]または[280, 530]
5つ目終了時の出力[1000, 330]または[1000, 530]

位置は [X, Y] の配列、不透明度や回転は数値1つを返します。今回は時間を基準にしていますが、linear・easeはほかの数値範囲の変換にも使える関数です。

開始より前は開始値、終了より後は終了値を返します。今回なら1秒以前はX280、3秒以降はX1000。timeを掛けて進み続ける式と違い、到着後は自動でその値を保ちます。

使う場所と基本の再現手順

項目今回の条件
制作環境After Effects 26.5(26.5×89)/macOS/JavaScriptエクスプレッションエンジン
コンポジション1280×720/30fps/6秒/8bpc
基本例直径72pxの丸を上下2段に配置
適用先次元を分割していない2D位置。位置のキーなし
素材・フォントAEの図形と文字。Hiragino Sans W6/Arial Bold。追加プラグイン・外部素材なし
  1. 1280×720・30fps・6秒のコンポジションを作ります。
  2. 直径72pxの丸を2つ置き、上の丸を[280, 330]、下を[280, 530]へ配置します。
  3. 上の丸の位置を、MacはOption、WindowsはAltを押しながらストップウォッチをクリックして式の入力欄を開きます。
  4. 上にはlinear、下にはeaseの基本コードを貼り付けます。
  5. 1〜3秒を再生し、動き出し・途中・止まり際を比べます。
  6. 開始・終了の時間を変えるときは、2つ目と3つ目の引数を変更します。

エフェクトメニューから追加する機能ではありません。位置などのプロパティへ直接入力します。上のコードは開始値と終了値を式内で決めるため、位置の元の数値を変えるだけでは経路は変わりません。

After Effectsの実タイムライン。1.5秒でMOVE_easeの位置はX392.5、Y530。
実際のAE画面。1.5秒時点のeaseは[392.5, 530]。同時刻のlinearは[460, 330]なので、easeのほうが出だしはゆっくり進んでいます。

linearとeaseは、進み方がどう違う?

linearの直線とeaseのS字カーブを、同じ0から2秒・0から100の範囲で比較。
横軸は経過時間、縦軸は出力値。AEの実プロパティから採取した値で、関数だけを変えています。空間上の移動経路を示す図ではありません。
経過linearease
0秒00
0.5秒(25%)2515.625
1秒(50%)5050
1.5秒(75%)7584.375
2秒100100

easeは出だしと止まり際の速度が0になります。中間の50%時点ではlinearと同じ値になるので、違いを見るときは25%・75%あたりや、動画の動き始めと止まり際に注目してください。

一定のペースで増えるメーターや均等な移動にはlinear、カードや文字を柔らかく登場させたいときはeaseが使いやすい出発点です。easeは上下に跳ね返るバウンスや、終点を越えるオーバーシュートを加える関数ではありません。

所要時間を変える:終了時刻だけを調整する

開始時刻を0秒、出力を0→100に固定し、終了時刻だけを0.5・1・2秒へ変えた比較です。どれもeaseで、経過0.25秒の不透明度を見ています。

終了時刻0.5秒、1秒、2秒だけを変えた不透明度の比較。経過0.25秒で50%、15.6%、4.3%。
同じ時点でも、完了までの時間が長いほど、まだ変化の序盤にいます。薄い円は位置を示す共通の背景です。

基本例の1〜3秒は、動く時間が2秒という意味です。3つ目の引数は所要時間ではなく終了時刻なので、1秒開始で0.8秒かけたいなら終了は1.8秒。次の作例では、レイヤー開始からの経過時間に置き換えて書きやすくします。

実践1:カードをなめらかに登場させる

カードはコンポジションの1秒から表示。元の配置より160px左から入り、0.8秒で到着して停止します。 6秒・音声なし。再生ボタンで動きを確認できます。
var t = time - inPoint;
ease(t, 0, 0.8, value + [-160, 0], value);
設定値
対象02_SLIDE_CARDのEASE_CARD/2D位置
元の位置(到着点)[640, 392]
開始位置[480, 392](到着点から160px左)
レイヤーの表示開始1秒
所要時間0.8秒。コンポジションの1.8秒で到着
キーなし

カードの背景と文字を560×210のプリコンポジションへまとめます。親コンポジションで位置を[640, 392]へ置き、レイヤーの表示開始を1秒にして、上の式を位置へ貼り付けます。

time - inPoint はレイヤーが表示されてからの経過秒です。value を到着点にするので、元の位置を動かせば、入ってくる場所も一緒に変わります。[-160, 0] を [0, 80] にすれば、下から上へ入る形にできます。

この式では到着点がvalueそのものです。完成した式の前へさらにvalueを足すと配置がずれるため、そのまま貼り付けてください。位置の元の値にキーを打つと、到着点も時間で変わります。今回の作例ではキーを使っていません。

実践2:タイトルをゆっくりフェードインさせる

文字は1秒から表示対象となり、その後1.2秒かけて不透明度が0から100%へ変わります。 6秒・音声なし。再生ボタンで動きを確認できます。
var t = time - inPoint;
ease(t, 0, 1.2, 0, 100);
設定値
対象03_FADE_TITLEのEASE_OPACITY/不透明度
レイヤーの表示開始1秒
開始・終了値0%→100%
所要時間1.2秒。コンポジションの2.2秒で100%
位置・キー位置は固定、不透明度のキーなし

文字レイヤーの不透明度へ式を貼り付けます。位置の作例と違い、出力は配列ではなく0と100という数値です。短く現れるなら1.2を0.5程度へ、ゆっくり見せるなら2程度へ変更してみましょう。

一定ペースのフェードにするなら、ease を linear へ変更します。100から0へ消したい場合は、最後の2つの引数を 100, 0 に入れ替えます。この式は不透明度を直接決めるため、元の不透明度スライダーの値は使いません。

動かない・値がずれるときの確認

症状確認すること
最初から終点にいる開始・終了時刻と現在時刻を確認。終了時刻以降は終了値を保ちます
途中から登場すると動きが終わっているtimeはコンポジション時刻。レイヤー開始を基準にするならtime – inPointへ
所要時間のつもりの数値で速さが合わない2つ目と3つ目は開始と終了の基準値。所要時間はその差です。終了は開始より後にします
linearとeaseが同じに見える両端と中間50%は同じ値。動画で加減速を比べるか、25%・75%時点を確認
元の位置を変えても動かない基本コードは座標を式内で指定。配置に追従させたいならカードのvalueを使う形へ
2D位置でエラーになる開始・終了とも[X, Y]を返す形にします。3Dや次元分割した位置へは、その次元に合わせた変更が必要
終点で跳ねないeaseはなめらかな加減速。バウンスを作りたい場合は別の式が必要

linearとeaseの引数、範囲外での値の保持、easeの開始・終了の速度についてはAdobeのエクスプレッション言語リファレンスでも確認できます。まずは開始・終了の時間と値を揃え、関数名だけを変えると違いがつかみやすくなります。

作例プロジェクトをダウンロード

基本のlinear・ease比較、カード登場、タイトルのフェードインを収録。比較グラフと不透明度比較は採取した値による静止図です。SAMPLE_SOURCEの式を変更しても図は自動更新されません。

項目内容
版・容量v1.0/77,048バイト(約75KiB)
内容編集可能なAEP、expressions.txt、はじめに.txt
制作環境After Effects 26.5×89/JavaScriptエクスプレッションエンジン
フォントHiragino Sans W6/Arial Bold。フォント本体は同梱していません
利用条件学習・個人制作で利用と改変可。商用利用は個別相談

商用利用はお問い合わせページからご相談ください。ほかの動きはAEエクスプレッション集から探せます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

フリーランスとしてPASを運営し、モーションデザインや映像制作を中心に活動しています。

映像をつくることだけでなく、情報をどう捉え、どう組み替え、どう伝えるかという「編集」に関心があります。

また、越境学習に関わる現場にも参加し、対話や問いを通じた学びの場づくりにも取り組んでいます。

コメント

コメントする

目次