文字がランダムにパカパカ切り替わり→決まり文字へ、というよくあるパターン。
タイムリマップとエクスプレッションを使ってやってみます。
例えば、アルファベットの場合、A~Zの連番26枚を用意し読み込みます。
コンポジションに入れて、タイムリマップを適用します。
タイムリマップにエクスプレッションを適用し、↓をコピペします。
fps=30;
sn=source.name;
du=footage(sn).duration*fps;
start=1; //ランダム範囲の開始フレーム
end=du; //ランダム範囲の最終フレーム
koma=1; //何コマ落ちでパカパカするか
if(marker.numKeys){
marker1=marker.key(1).time;
kimari=marker.key(1).comment;
}
else{
marker1=100;
kimari=1;
}
start=start-1;
hold=koma/fps;
seed = Math.floor(time/hold);
seedRandom(seed,true);
run=random(start,end)/fps;
fix=(kimari-1)/fps;
time<marker1? run:fix
sn=source.name;
du=footage(sn).duration*fps;
start=1; //ランダム範囲の開始フレーム
end=du; //ランダム範囲の最終フレーム
koma=1; //何コマ落ちでパカパカするか
if(marker.numKeys){
marker1=marker.key(1).time;
kimari=marker.key(1).comment;
}
else{
marker1=100;
kimari=1;
}
start=start-1;
hold=koma/fps;
seed = Math.floor(time/hold);
seedRandom(seed,true);
run=random(start,end)/fps;
fix=(kimari-1)/fps;
time<marker1? run:fix
再生してみると、1コマおきにランダム表示されていると思います。
次に適当な場所にレイヤーマーカーを1つ作って、決めで使いたいフレーム番号をコメントに入れます。例えばGを使いたい時は7。
も一度再生すると、コメントの位置にくるとGでストップします。
また、
本文の中、下の3行はオプションとして書き換えることができます。
start=1; //ランダム範囲の開始フレーム
end=du; //ランダム範囲の最終フレーム
koma=1; //何コマ落ちでパカパカするか
読み込んだ連番のすべてのフレームを使ってランダム表示したい時はそのままで良いのですが、
特定の範囲、例えばC~Fだけを使いたい!という場合は開始の「1」を「3」へ、最終の「du」を「6」へ変更してみてください。
またkomaはコマ落ち数で、5に変更すると5枚おきに文字が切り替わります。現状はフルフレームの「1」ですね。
もろもろ設定が終われば、レイヤーをコピーして、レイヤーの位置、マーカーを編集すればOK。
ちなみにリンクのムービー「PAKAPAKA」のタイムラインはこんな感じ↓
タイミングの編集くらいなら、レイヤー数が増えても比較的編集しやすいと思います。
--追記--
今回は、外部で文字ファイルを用意する前提での方法ですが、
文字の扱い的にフォントにこだわる必要がなく、決まり文字のタイミングもおおざっぱで良い場合などは、AE内のテキストレイヤーでアニメーターオプションを使った方法がてっとりばやいですね。
一応、 AEサンプルです。
0 件のコメント:
コメントを投稿