エクスプレッションで破壊アニメーションを作りたい
ニコニコのチュートリアルやってみました。エクスプレッションでバラバラにすると再生が軽くてトライアンドエラーしやすいです。
目次
チュートリアル
STEP1:アニメーションプリセットを適用
調整レイヤー(TRANSFORM)を作成して、LogoTransform(control)NameTRANSFORM.ffxのアニメーションプリセットを適用します。
STEP2:マスク分け
バラバラにしたいロゴを作成して、3DレイヤーをONにしてマスク分けをします。
STEP3:エクスプレッション
ロゴにLogoTransform(Logo).ffxアニメーションプリセットを適用します。エクスプレッションが3箇所に入ります。
アンカーポイント:
thisComp.layer("TRANSFORM").effect("AnchorPoint")("ポイント")位置:
seedRandom(thisComp.layer("TRANSFORM").effect("seedRandom")("スライダー") + index);
X = transform.anchorPoint[0] - width / 2;
Y = transform.anchorPoint[1] - height / 2;
Z = 0;
if (thisComp.layer("TRANSFORM").effect("3D")("チェックボックス") == 0) {
temp1 = +[X, Y] + [wiggle(thisComp.layer("TRANSFORM").effect("PositionFreq")("スライダー"), thisComp.layer("TRANSFORM").effect("Position")("スライダー"))[0], wiggle(thisComp.layer("TRANSFORM").effect("PositionFreq")("スライダー"), thisComp.layer("TRANSFORM").effect("Position")("スライダー"))[1]];
temp2 = value + [X, Y];
trans = thisComp.layer("TRANSFORM").effect("Transform")("スライダー");
spd = thisComp.layer("TRANSFORM").effect("speed")("スライダー");
end = 100 - (index * spd / 100);
if (thisComp.layer("TRANSFORM").effect("ease")("チェックボックス") == 0) {
linear(trans, 0, end, temp1, temp2);
} else {
ease(trans, 0, end, temp1, temp2);
}
} else {
temp1 = +[X, Y, Z] + wiggle(thisComp.layer("TRANSFORM").effect("PositionFreq")("スライダー"), thisComp.layer("TRANSFORM").effect("Position")("スライダー"));
temp2 = value + [X, Y, Z];
trans = thisComp.layer("TRANSFORM").effect("Transform")("スライダー");
spd = thisComp.layer("TRANSFORM").effect("speed")("スライダー");
end = 100 - (index * spd / 100);
if (thisComp.layer("TRANSFORM").effect("ease")("チェックボックス") == 0) {
linear(trans, 0, end, temp1, temp2);
} else {
ease(trans, 0, end, temp1, temp2);
}
}スケール:
temp=thisComp.layer("TRANSFORM").effect("Spread")("スライダー");
if(temp<0){
value+[temp,-temp,0];}
else{
value+[temp,0,0];}Z回転:
seedRandom(thisComp.layer("TRANSFORM").effect("seedRandom")("スライダー")+index);
temp=wiggle(thisComp.layer("TRANSFORM").effect("RotationFreq")("スライダー"),thisComp.layer("TRANSFORM").effect("Rotation")("スライダー"));
trans=thisComp.layer("TRANSFORM").effect("Transform")("スライダー");
spd=thisComp.layer("TRANSFORM").effect("speed")("スライダー");
end=100-(index*spd/100);
if(thisComp.layer("TRANSFORM").effect("ease")("チェックボックス")==0){
linear(trans,0,end,temp,0);}
else{ease(trans,0,end,temp,0);}STEP4:調整レイヤーのスライダーを調整
適用したらロゴが変な場所に行くので、アンカーポイントを全て0にして、無理やり中央に移動させます。調整レイヤーのスライダーを調整します。
各パラメーターの説明:3D(Z方向にもアニメーションする)、ease(イーズがかかる)、AnchorPoint(アンカーポイント)、Transform(0からスタートして100になるとロゴが元通りになる)、spread(時間差で元に戻る)、Spread(拡縮)、PositionFreq(位置のウィグル)、Position(位置)、Rotation(回転)、RotationFreq(回転のウィグル)、seedRandom(ランダム下限)

マスクごとにレイヤーを分けるスクリプト
丁寧にフォトショで素材分けせず、ぱぱっとマスク分けした後にそれぞれをレイヤー分けするときに便利なスクリプトです。
ダウンロード:MasksToLayers.jsx
アニメーションプリセット
アニメーションメニューから、アニメーション、エクスプレッション、エフェクトの状態を保存できる機能です。
C:\Users\ユーザー名\Documents\Adobe\After Effects CC 2015\などに置きます。
