補間
2点のつなぎ方
- 前項で値の範囲を変換する方法について説明しましたが、実はその変換用のメソッド(関数)がAfterFxには用意されています。
linear ( t , t_min , t_max , value1 , value2 )
- linear(リニア)はメソッドの名前で、5つのパラメーターがあります。このメソッドの意味は以下のようになります。 メソッドについて→関数
linear ( 変数 , 入力最小値 , 入力最大値 , minに対する出力値 , maxに対する出力値 )
これを前章のボリュームの例に当てはめてみます。
- 変数 はボリュームの回転角度
- 入力最小値 はボリュームの最小値
- 入力最大値 はボリュームの最大値
- minに対する出力値 はスライダーの最小値
- maxに対する出力値 はスライダーの最大値
rotation = thisComp.layer("Volume").rotation ;
linear ( rotation , -150 , 150 , 200 , 40 );
この式を前の例と置き換えて結果を見てください。
- 同じように動作しますが、詳しく見ると違いがあります。
- 回転を150以上、-150以下にしても、このメソッド(関数)を使った場合はノブが目盛りをオーバーしません。これが今までの方法と明らかに違う点です。これは出力の範囲にリミッターが掛かっていることを意味します。 グラフにすると図のようになります。
この関数はボリュームの例には使えますがリミットがあるのでローリング・リングには使えないことがわかります。
イーズ・Ease
ここまでの補間は直線でしたがグラフの開始と終了を緩やかにする補間方法がイーズです。Easeは開始や終了ポイントで速度が0になります。アニメ用語で言うところの「ツメ」とか「クッション」です。
easeには3つのTypeがあります。
- 1,easeIn
- 初めがゆったりしています。
- 2,easeOut
- 最後がゆったりと変化します。
- 3,ease
- 初めと終わり両方ともゆったりします。
変化が一定、すなわちグラフが直線の場合がlinearです。
パラメーター
ease( )は引き数の違いで2種類あります。
ease○○(t, val1, val2)
ease○○(t, tmin, tmax, val1, val2)
1つめの関数はtの範囲が0~1で変化すると、val1からval2へ補間します。
t<= 0 のとき出力はval1、t>= 1 のときはval2になります。
2つめの関数はtmin < t < tmax のとき、val1とval2の間の値を出力します。
t <= tmin のとき出力はval1で、t >= tmax のときはval2です。