AfterEffectsで使用するエクスプレッションの自分用のメモ書き。
随時追加。
どこかでわかりやすくまとめたい。。。
目次
上下のレイヤーのIn/Outを参照して、アクティブレイヤーのアニメーションを制御
アクティブレイヤーの上、もしくは下のレイヤーのインポイントやアウトポイントを参照して、自身のレイヤーに適応されている
アニメーションの開始時間、終了時間を制御するエクスプレッション
アウト側アニメーション制御その1
タイムライン内のアクティブレイヤーの一つ上のレイヤーのインポイントの時間をみて、アクティブレイヤーのアウトポイント側のアニメーションを制御する
1 2 3 4 5 6 7 8 9 10 |
fTime=1; //アニメーションする時間(1秒) t1=thisComp.layer(thisLayer,-1).inPoint; //上のレイヤーのインポイントの時間 t2=thisComp.layer(thisLayer,-1).inPoint+fTime; //上のレイヤーのインポイントのfTime後の時間 x1=640; //アニメーション開始時の値 x2=-1267; //アニメーション終了時の値 //アウト側のアニメーション設定// x=ease(time,t1,t2,x1,x2); |
イン側アニメーション制御その1
タイムライン内のアクティブレイヤーの一つ下のレイヤーのアウトポイントの時間をみて、アクティブレイヤーのインポイント側のアニメーションを制御する
1 2 3 4 5 6 7 8 9 10 |
fTime=1; //アニメーションする時間(1秒) t1=thisComp.layer(thisLayer,+1).outPoint-fTime; //下のレイヤーのアウトポイントのfTime前の時間 t2=thisComp.layer(thisLayer,+1).outPoint; //下のレイヤーのアウトポイントの時間 //イン側のアニメーション設定// x1=90; //アニメーション開始時の値 x2=0; //アニメーション終了時の値 x=ease(time,t1,t2,x1,x2); |
アウトーイン両方アニメーション制御その1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
fTime1=1; //アニメーションする時間 fTime2=1; //アニメーションする時間 t1=thisComp.layer(thisLayer,+1).outPoint-fTime; //下のレイヤーのアウトポイントのfTime1前の時間 t2=thisComp.layer(thisLayer,+1).outPoint; //下のレイヤーのアウトポイントの時間 t3=thisComp.layer(thisLayer,-1).inPoint; //上のレイヤーのインポイントの時間 t4=thisComp.layer(thisLayer,-1).inPoint+fTime; //上のレイヤーのインポイントのfTime2後の時間 x1=90; x2=0; x3=640; x4=-1267; if(time>=t2) // 下のレイヤーのアウトポイントの時間(イン側のアニメーション設定) { x=ease(time,t3,t4,x3,x4); }else{ // (アウト側のアニメーション設定) x=ease(time,t1,t2,x1,x2); } |
自身のレイヤーのIn/Outを参照して、アニメーション制御を
自身のレイヤーのインポイントやアウトポイントを参照して、自身のレイヤーに適応されている
アニメーションの開始時間、終了時間を制御するエクスプレッション
イン側のアニメーション(1次元変数の場合)
アクティブレイヤーのインポイントの時間を参照して、イン側のアニメーション制御をする
1 2 3 4 5 6 7 8 9 |
fTime = 1; //アニメーション時間(1秒) t1=inPoint; //インポイントの時間 t2=inPoint+fTime; //インポイントからアニメーションが終わる時間 a1=0; //アニメーション開始時の値 a2=100; //アニメーション終了時の値 //イン側のアニメーション設定 linear(time,t1,t2,a1,a2); //アニメーションのキーフレーム補完方法(linear) |
アウト側のアニメーション(1次元変数の場合)
アクティブレイヤーのアウトポイントの時間を参照して、アウト側のアニメーション制御をする
1 2 3 4 5 6 7 8 9 |
fTime=1; //アニメーション時間(1秒) t1=outPoint-fTime; //アウトポイントからアニメーションが始まる前の時間 t2=outPoint; //アウトポイントの時間(アニメーションエンドポイント) a1=100; //アニメーション開始時の値 a2=0; //アニメーション終了時の値 //アウト側のアニメーション設定 linear(time,t1,t2,a1,a2); //アニメーションのキーフレーム補完方法(linear) |
アウト側のアニメーション(2次元変数の場合)
アクティブレイヤーのアウトポイントの時間を参照して、アウト側のアニメーション制御をする
1 2 3 4 5 6 |
t1=outPoint-6; //アウトポイントから6秒前の時間 t2=outPoint; //アウトポイントの時間 //アウト側のアニメーション設定 linear(time,t1,t2,[0,0],[-48,-48]); |
インーアウト側のアニメーション(1次元変数の場合)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
t1=inPoint; //インポイントの時間 t2=inPoint+1; //インポイントから1秒の時間 t3=outPoint-1; //アウトポイントから1秒前の時間 t4=outPoint; //アウトポイントの時間 //インアウト側のアニメーション設定 a1=0; a2=100; a3=100; a4=0; if(time>=t2){ //アウト側アニメーション条件 linear(time,t3,t4,a3,a4); }else{ //イン側アニメーション条件 linear(time,t1,t2,a1,a2); } |