Amazonで商品を見るセール会場へ

After Effects│linear・easeで値を変換するエクスプレッション|ある値に連動させる基本

linear と ease は、ある範囲の値を、別の範囲の値に置き換えるエクスプレッションです。

「回転が増えたら大きくする」「音が大きいほど明るくする」のように、2つのプロパティを連動させるときの基本になります。

  • 書き方:linear(元の値, 元の最小, 元の最大, 変換後の最小, 変換後の最大)
  • 範囲の外は、端の値で止まる
  • ease は、始めと終わりがゆっくりになる
  • 時間で動かすときは、元の値に time を入れる

この記事は、Adobe公式の「Expression language reference」の説明(2026年10月3日に公式資料を確認)にもとづいています。

表の値は、同じ計算を Node.js で確かめたもので、After Effectsの画面での再現は含みません。

目次

linearの書き方

linear(t, tMin, tMax, value1, value2)
引数意味
t元にする値(時間や、ほかのプロパティの値)
tMin・tMax元の値の範囲
value1・value2変換したあとの範囲

t が tMin 以下なら value1、tMax 以上なら value2 を返し、その間は一定の割合で変わります。

範囲の外で値が止まるので、行き過ぎを気にしなくてよいのが便利なところです。

時間で動かす

linear(time, 0, 6, 20, 80)

不透明度に書くと、0秒から6秒の間に20%から80%へ変わります。

これは公式の説明にある例です。

ほかのプロパティに連動させる

回転に合わせて大きくする

2Dレイヤーの拡大・縮小に書きます。3Dレイヤーの拡大・縮小では返す配列を [s, s, s] にし、参照する回転の軸も決めます。

var r = transform.rotation;
var s = linear(r, 0, 360, 80, 120);
[s, s];
回転拡大・縮小
0°80%
90°90%
180°100%
360°120%
400°120%(範囲の外なので止まる)
同じ計算を Node.js で確かめた値

拡大・縮小は縦と横の2つの値を持つので、最後に [s, s] と配列にして返しています。

画面の左右の位置で透明度を変える

1920×1080のコンポジションで、左端の少し内側から右端の少し内側まで動く間に、見えてくるようにする例です。

linear(transform.position[0], 200, 1720, 0, 100);

位置の横の値([0])が200で0%、960で50%、1720で100%になります。

音の大きさに合わせる

音声レイヤーを選んで「アニメーション」→「キーフレーム補助」→「オーディオをキーフレームに変換」を実行すると、音の大きさがスライダーの値になったレイヤーができます。

var a = thisComp.layer("Audio Amplitude").effect("Both Channels")("Slider");
linear(a, 0, 20, 50, 100);

振幅が0なら50、20以上なら100になります。

振幅の大きさは音声によって違うので、tMax の20は、実際のスライダーの値を見て合わせます。

上の1行目は英語版の名前です。

日本語版では名前が変わるので、1行目は入力欄のピックウィップ(渦巻きのアイコン)をスライダーまでドラッグして作ると確実です。

easeとの違い

ease(time, 0, 2, 0, 100)
easeIn(time, 0, 2, 0, 100)
easeOut(time, 0, 2, 0, 100)
関数動き方
linear最初から最後まで同じ速さ
ease始めと終わりがゆっくり(両端で速さが0)
easeIn始め(tMin の側)だけゆっくり
easeOut終わり(tMax の側)だけゆっくり
Adobe公式「Expression language reference」をもとに作成

引数の並びはどれも linear と同じなので、関数の名前を変えるだけで動きの感じを変えられます。上の3行は比較用の候補です。練習では1行だけを選んで貼り付けます。3行とも貼ると最後の行の値が結果になります。

引数を3つにする書き方

linear(t, value1, value2)

範囲を書かないと、t が0から1に進む間に value1 から value2 へ変わります。

0から1の割合をすでに計算してあるときに使います。

うまくいかないとき

  • 値が動かない:tMin と tMax の範囲に、元の値が入っているかを見る
  • エラーになる:位置や拡大・縮小のように値が2つ以上あるプロパティには、配列で返しているかを見る
  • 向きが逆:value1 と value2 を入れ替える

数字を増やす演出に使う例は、After Effectsで数字をカウントアップさせるエクスプレッションで紹介しています。

入力範囲と貼付先を確かめる練習

練習用レイヤーの不透明度へ時間の式を1行だけ貼ります。

0秒で20、3秒で50、6秒で80になる範囲です。

範囲外の時刻では端の値を保ちます。

値を配列で返す位置・拡大縮小の例を、不透明度にそのまま貼らないでください。

入力時刻計算値条件
-1秒20下限より前
3秒50範囲の中央
7秒80上限より後

入力範囲は tMin < tMax にします。

等しい値を使ってゼロ幅の範囲を作らず、表示したい端の値を直接返してください。

逆向きに動かす場合は入力範囲を逆転させず、出力のvalue1とvalue2を入れ替えます。

音への連動は生成された両チャンネルのスライダーをピックウィップで参照し、実際の値を見て上限を決めます。

練習の終了後は式を無効にし、元のプロパティ値とキーを戻します。

音声の変換でできた練習レイヤーは、本番のレイヤーと区別して残すか練習プロジェクトを閉じます。

練習用エクスプレッション6本をダウンロードできます。

READMEの貼付先を確認し、1つずつ練習用プロパティに使います。

AE本体での動作確認は含みません。

まとめ

  • linear(元の値, 元の最小, 元の最大, 変換後の最小, 変換後の最大) で値を置き換える
  • 範囲の外は端の値で止まる
  • ease・easeIn・easeOut は同じ引数で、速さの変わり方だけが違う
  • 値が2つあるプロパティには配列で返す

参考:Adobe「Expression language reference」(2026年10月3日に公式資料を確認)。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

After Effectsのおすすめ書籍

必要なPCスペック

周辺機器の優先度

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