アンチ・フリッカー
Sample:nearestKey()/key.value/条件演算子/ポイント制御
- 大判作画のキャラの走り・歩きなどにカメラを付けて追った場合に、図の上段のようなフリッカーが出ます。それを下段のように修正する方法です。
- なお、例ではどちらも2kの歩きで、BG引きが1Kです。
フリッカーの原因と対策:
- 2K(又は3K)作画と1Kのカメラ移動により画面内でキャラが1K毎にPan方向に前後移動する為、フリッカーになります。
- 対処方法としては作画の2K目でタップ位置をPanの方向に移動させて画面内でキャラを同じ位置にキープするようにします。ただし次のフレームではタップを元の位置に戻さなくてはなりません。この1K毎の移動を手付けでやるのは手間がかかりすぎます。
ポイント
- 現在のタイムマーカーの前後のキーを取得するためにnearestKey()を使います。
設定
- キャラの移動方向と移動量を測るためにNullを追加して名前を"Tracer"とします。
- 原画のポイント(足、腰)にNullをトラッキングしてKeyを打ちます。
- 必須事項:補完用の捨てKeyとしてラストのKeyをコピーし、LastFrameの後にKeyを作りペーストします。
- Null"Tracer"に"Point制御"を適用して次の式を書きます。
a=thisComp.layer("Tracer").position.nearestKey(time);
(time-a.time>=0) ? P1=a.index: P1=a.index-1
b=thisComp.layer("Tracer").position;
diff=b.key(P1+1).value-b.key(P1).value;
//KeyFrame間のキャラの移動ベクトル
koma=b.key(P1+1).time*24-b.key(P1).time*24;
//KeyFrame間隔=Fr数
(time*24%2)*(diff/koma)
//1K毎の01フリップ * 1Kの移動幅
- 次にキャラのレイヤーに次の式を書きます。
position+thisComp.layer("Tracer").effect("ポイント制御").param("ポイント")
このExpは作画が2K打ちの場合です。
動画のつめがきつい時は必要に応じて"Tracer"のKeyを増やしてます。

前のページへ