[After Effects]二点間の距離によって、振動の強さを変化させる。

緑と赤の、二点間の距離が近づくほど、青の振動を強くする。
逆に、緑と赤、二点間の距離が離れるほど、青の振動を弱くする。

▼処理の概要

距離と振動量を割合に変換し、
距離が1%増えると、振動量は1%減り、
距離が1%減ると、振動量は1%増える。

このような処理になるようにする。

▼処理内容

・緑と赤、二点間の距離を測る。
・距離の最大値を設定する
・振動の最大値を設定する。
・距離が最大値を超えても、値は最大値のままにする。
・距離を割合に変換する。
・割合の上限値から、距離の割合を引いた値を、振動量の割合にする。
・振動量の上限値と振動量の割合を掛けて、振動量を出す。

▼二点間の距離を測る方法

lengthメソッドを使う。

kyori = length(レイヤー緑の位置、レイヤー赤の位置)

と入力すれば、
変数kyoriに、レイヤー緑と、レイヤー赤の、二点間の距離が入る。

※この値を四捨五入する場合は、

kyori = Math.round(kyori)

と入力すする。

▼距離を割合に変換する。

割合 = ( 現在の二点間の距離 ÷ 任意に設定した二点間の距離の範囲 ) × 100

▼割合上限値から距離の割合を引いた値を、振動の割合とする。

振動の割合 = 1 - 距離の割合

▼振動の割合から、振動の量を出す。

振動の量 = 設定した振動の上限値×振動の割合

▼例1:

 振動量の最大値を50、距離の範囲を300に設定したとき、
 二点間の距離(kyori)が60だった場合の振動量を求める。

wariai = (kyori / 300)
距離の割合は20%(0.2)。

割合の最大値 - 距離の割合 = 振動量の割合
100% – 20% = 80% (1 – 0.2 = 0.8)
この値から振動量を求める。
振動量 = 割合の差 × 振動量の最大値
sindou = 0.8 * 50
振動量は40

▼振動とスケールの割合を、角度の割合に連動させる。

横棒グラフの割合と、赤丸の振動量の割合は、メーターの針の角度の割合と連動させている。
針の角度が100%のとき、横棒グラフも100%、赤丸の振動量も100%になる。

メーター針の角度の範囲:0~90度
横棒グラフの範囲:0~500pixel
振動量の範囲:40(-20~20)pixel

範囲を設定して、割合を扱えば、要素の連動は簡単。

コメントを残す

メールアドレスが公開されることはありません。


+ 三 = 10


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>