After Effects エクスプレッション 途中で数値を変えたい時
ものすごい久しぶりにAEのエクスプレッション。
知人に教えてもらいました。
自分的に使いどころあるかわからないけど忘れないようにメモ…
レイヤーマーカーを打って、そこから別の数値に変える時のエクスプレッションです。
●例えば、移動に使う場合。
レイヤーにpというマーカーを打って
pに到達するまでのyの移動を1秒間に500
p以降の移動を一秒間に10とした時
if(time>=marker.key("p").time){
y=marker.key("p").time*500+(time-marker.key("p").time)*10;
}
else{y=time*500;}[0,y]
なぜマーカーp以降が
y=marker.key("p").time*500+(time-marker.key("p").time)*10;
なのかというと、単純にy=time*10;
とかにしてしまうとマーカーpを超えた時点でyの値が初期化されて
pまでのyの値が
time*500 ではなく time*10
になってしまうのでpまでの値を足してあげないとダメなんだそう。
実際に自分でやってみて「そりゃそうだな(笑)」ってなりました。
もう一つは
●フラクタルノイズの展開などパラメーターが一つの時に使う場合
if(time>=marker.key("p").time){
marker.key("p").time*60+(time-marker.key("p").time)*360;
}
else{time*60;}
マーカーpまでが展開1秒間に60°、p以降が1秒間に360°になります。
移動の時と同様に、p以降はそれまでの数値を足す必要があります。
と教えてもらったけどややうろ覚えで
さっき試したらちゃんと動きました。
今回は以上です。