AEExpression メモ トランジション


トランジションエクスプレッション

シェイプレイヤーに長方形を作成

ControlLayerでkeyのタイミングだけ打っておく。

シェイプレイヤーにはいくつかのエクスプレッション制御を追加
・X Min
・X Max
・Y Min
・Y Max
・Delay Max
・Randomize Animation

エクスプレッション

長方形パス サイズ

myNum = thisProperty.propertyIndex;
xmin = effect("X Min")("スライダー");
xmax = effect("X Max")("スライダー");
ymin = effect("Y Min")("スライダー");
ymax = effect("Y Max")("スライダー");
seedRandom(myNum,true);
x = Math.floor( random() * (xmax - xmin) ) + xmin;
y = Math.floor( random() * (ymax - ymin) ) + ymin;

[x,y]+content(thisProperty.propertyGroup(1).propertyIndex).size;

長方形パス位置

rs = content(thisProperty.propertyGroup(1).propertyIndex).size; //Rect Size
myNum = thisProperty.propertyIndex; // My Index Num
cw = thisComp.width; // composition width
ch = thisComp.height; // composition height
xmin = -cw/2;
xmax = cw/2;
ymin = -ch/2;
ymax = ch;
seedRandom(myNum*effect("Randomize Animation")("スライダー"),true);
x = Math.floor( random() * (xmax - xmin) ) + xmin;
y = Math.floor( random() * (ymax - ymin) ) + ymin;

tf = random() >= 0.5;
if (tf == true){
inp = [x,y]+[content(thisProperty.propertyGroup(1).propertyIndex).position[0],rs[1]+ch];
enp  = [x,y]+content(thisProperty.propertyGroup(1).propertyIndex).position;
}else{
inp = -[x,y]-[content(thisProperty.propertyGroup(1).propertyIndex).position[0],rs[1]+ch];
enp  = -[x,y]-content(thisProperty.propertyGroup(1).propertyIndex).position;
}


//moving
delay = random() * (effect("Delay Max")("スライダー") - 0)+0 ;
target = thisComp.layer("Control Layer").effect("スライダー制御")("スライダー")
linear(target.valueAtTime(time-delay),target.key(1),target.key(2),inp,enp);

最終調整

あとは長方形パスを複製して、サイズと位置が気に入らなければvalueで修正する