TC&0フレ

アニメ業界ではフィルム時代のタイムシートの影響か、コマ数表示(=フレーム数表示)で作業することが多いようで、受け取ったAEPはもれなくプロジェクト設定の「時間の表示形式」が「フレーム」に設定されています。

 

 

タイムシートとにらめっこして時間軸の現在位置を合わせる場合は、「フレーム」表示でいいのですが、それだとグローバルな「時間の感覚」が把握しにくいので、必ず、以下のように設定を変えます。私は、After Effectsを扱う時は、必ずタイムコード表示に設定し直して作業します。

 

 

「でもさ、コマ数に慣れていれば、すぐに秒数に脳内変換できるじゃん?」と思う人は多いでしょう。

 

しかしそれは、あくまで「24コマの世界でしか仕事をしない旧来のアニメ業界の感覚」だけの話であって、1秒間が30、48、60、96、120...と分解能が変化した際には全く通用しません。

 

私も24コマの仕事が圧倒的に多いので、72は3秒、144は6秒...とすぐに思い浮かびますが、何でもかんでも24コマで思考していると、直感的な時間の感覚が24コマに固定されます。それは色々な映像制作、そして60や120fpsの時代に、いらぬハンデとなります。

 

なので、私ら技術グループは、1秒は1.0、3秒は3.0‥‥というような小数点で捉える習慣をベースにしています。24コマでいうところの「3+12」は3.5‥‥というあんばいです。

 

 

実際のところ、24コマ縛りで1スタートのフレームでの数え方は、アニメ業界独特です。他の映像ジャンルや映像処理工程に踏み込んだ途端、「話が通らなくなり」ます。

 

私は20年前くらいに、タイムシートからタイムコードへと習慣を変える際に、とても違和感を感じてひっかかった経験があります。しかし、独特なのはアニメ業界のほうで、映像制作のスタンダードは今やコマ数でもなくフィートでもなく、タイムコードが主流と言って過言ではありません。もはや、ほとんどの映像制作が、最終媒体をデジタルデータに占領されておりますから、フィルム時代のコマ数やフィートではなく、タイムコードで時間の感覚を身につけるほうが現実的です。

 

 

‥‥で、最近、AEPファイルの受け取りで(=本当はAEPの受け取りはしたくないんですけど)、この「フレーム数、1スタート」でハマったことがありました。

 

まずは、これを見てください。

 

 

アニメ業界ではよくある「フレーム表示」です。

 

このようにフレーム表示にすれば、タイムシートと合わせやすいですよネ。フレーム数表示が1スタートなので、タイムシートと同じコマ数になります。

 

しかし私は、こういう「漠としたフレーム数表示」がイヤで、目で見てすぐに秒数が知りたいので、表示を「タイムコード」に直します。

 

すると‥‥

 

 

拡大しますと‥‥

 

 

‥‥極めて見辛いです。秒数が進んでいく様子が、直ぐに判読できません。

 

「01,05,09,13,17,21」と進んで「01」に戻りますし、そもそも、秒数区切りの表示が消えています。

 

どうなっているのでしょうか、このタイムコードの表示は。

 

原因は、コレです。

 

 

開始タイムコードが「:01」になっています。表示されるフレーム数を1スタートにしたいがために、コンポジション設定上で1スタートに設定すると、タイムコードも1スタートになり、かなり妙なことになります。

 

このコンポジション設定での1スタートが原因で、タイムラインでのタイムコードの表示から秒数が消えていたのです。

 

加えて、書き出したムービーファイルのタイムコードメタデータは、なんとも気持ち悪い「00:00:00:01」スタートになります。タイムコードはゼロスタートが基本ですから、もし受け取る側のソフトウェアがムービーファイルのタイムコードを反映する設定になっていると、タイムコードが中途半端な「00:00:00:01」スタートに設定されます。

 

‥‥なので、0スタートに設定し直せば、以下のように、いつもの表示に戻ります。

 

 

 

「いやでもさ‥‥、フレーム数じゃないと、見辛いんだよ」という場合は、プロジェクト設定で設定すれば1スタートに表示されます。コンポジションの設定は、書き出されるムービーファイルのタイムコードに関連するので、コンポジション設定ではなく、プロジェクトの「時間表示の設定」で解決するのが、トラブルを未然に防ぐ方法です。

 

以下のように。

 

 

「フレーム数」を「1から開始」にすれば、わざわざコンポジションの開始フレームを1にしなくても、表示上は1スタートになります。

 

 

でもまあ、未来のことを考えると、24コマ感覚ではなく、小数点感覚とタイムコード感覚に慣れた方が良いと思うんですよネ。1秒を1.0と捉える感覚は絶対的ですから。

 

とは言え、です。「自分の体内感覚の話よりも何よりも、何秒何コマかを、知りたいんだよ」というのはごもっともです。タイムシートの打ち込みにはどうしてもフレーム数・コマ数は目で確認したいですもんネ。私だって、頭ですぐに小数点から当該フレームレートのコマ数へ正確無比に暗算できるわけではないです。

 

そんな時はエクスプレッション。テキストレイヤーで多機能なフレーム数表示のレイヤーを作りましょう。タイムラインの表示をフレーム数にするよりも遥かに目視が容易です。

 

 

「162コマ目、2枚目のシートの18コマ目、6秒18コマ目、2枚目のシートの0秒18コマ目」を自動表記するエクスプレッションです。

 

After Effectsでフレーム数表示にしても、何秒シートの何枚目か?‥‥までは表示してくれない「中途半端な表示」にしかならないですから、いっそのこと、フレーム数・コマ数の目視確認はテキストレイヤーのほうが良いと思うんですよ。

 

変数の値を書き換えれば、3秒シートにも対応できますしネ。

 

ガイドレイヤーにしておけば、間違って表示したままレンダリングすることもないです。

 

ちなみに、エクスプレッションのコードはこんな感じ。少々散らかっててスミマセン。

 

var tsDuration=6;//何秒シートかの設定


var fps=1/thisComp.frameDuration;
var frCount=timeToFrames(time, fps, true);
var tsCount=Math.ceil((frCount+1)/(fps*tsDuration));
var sec=Math.floor(time);
var kt=Math.pow(10,(String(Math.floor(thisComp.duration))).length);

 

var frCountStr=String(frCount+10001).slice(1);
var frCountStrTS=String(frCount%(fps*tsDuration)+10001).slice(1);
var frCountStrMod=String(frCount%fps+101).slice(1);
var currTsCount=String(tsCount+100).slice(1);

 

frCountStr+" | "+currTsCount+":"+frCountStrTS+" ;;; ("+String(sec+kt).slice(1)+"+"+frCountStrMod+") | "+currTsCount+":("+String(sec%tsDuration+kt).slice(1)+"+"+frCountStrMod+")";

 

大したことはやってません。timeとframeDurationをコネくりまわせばできることで構成しています。

 

途中で「Math.pow(10,(String(Math.floor(thisComp.duration))).length);」のような妙なことをしているのは、尺の長さに合わせて、ゼロの数を合わせたいからです。1〜9秒なら「1〜9」、10〜99秒なら「01〜99」、100〜999秒なら「001〜999」‥‥とゼロを揃えないと、文字列の長さが現在時間で変わってしまい、表記がピコピコ動いちゃうのがイヤなのです。他の箇所で101や10001を足すのもそういう理由です。0=スタートフレームに10001を足して先頭の1の文字を削れば「0001」になりますもんネ。

 

数字の1は、文字の"0001"ではないので、まず1に10000を足して10001にしたのち、10001を"10001"に変換して先頭の1文字を削れば"0001"になる‥‥というわけです。昔から、この方法で、ゼロの数を合わせています。揃えたい桁数で10をべき算すれば、この方法で容易に4ケタでも5ケタでもゼロを揃えられます。

 

ちなみに、「秒数なんて99秒、2桁あれば、十分でしょ」‥‥と思う人は居るかもしれませんが、甘い‥‥甘いです。過去に、100秒超えのカットは、数カットではありますが経験しました。カット数の尺=秒数は2桁で必ず足りる‥‥とは限りません。

 

あと、いちいち「String()」しなくても、JavaScriptはNumberからStringへの暗黙の型変換をしてくれますが、暗黙のうちに何がうまくできて何がうまくできないのかが信用できないので、大した手間でもなし、ちゃんと型を明示的に変えています。

 

なので、例えば6秒シートで12秒以上のカットならば‥‥

 

 

‥‥のような具合に、自動で表記されます。「294コマ目、3枚目のシートの6コマ目、12秒6コマ目、3枚目のシートの0秒6コマ目」です。秒数が2桁になったので、「0,1,2,3,4,5,6,7,8,9,10,11,12...」ではなく、「00,01,02,03,04,05,06,07,08,09,10,11,12...」のようにゼロで桁数を揃える表記に自動で変化します。

 

 

‥‥とまあ、After Effectsをわざわざフレーム数表示に変えなくても、映像制作標準のタイムコードのままで、こうしたエクスプレッションを用意してひな形AEPに組み込んでおけば、いつでもフレーム数とタイムシートの「(秒+コマ)」を目視確認できます。フレーム数ではなく、タイムコードベースで運用すれば、様々な映像ソフトウェアの標準規格に合わせられます。

 

作業用のキャラ表示を簡単な数行のスクリプト文で、しかも自分の思うままの書式で、極めて短時間に自作できるのは、After Effectsの強みとも言えましょう。未来の60fps時代には、24コマ表記と60fps表記を列記して、60fpsコンポジション上において旧来の24コマだと何コマ目にあたるか?‥‥みたいな表示も簡単にできちゃいます。

 

私は昔からタイムコード&0フレームスタート派ですが、アニメ以外の様々なジャンルの映像制作、新しい映像フォーマットのアニメ制作の際に、非常に役立っています。

 

2018年現在の映像制作における「公用語」はタイムコードと0フレームスタートでしょうから、アニメ制作者と言えども、未来の映像技術を活用しようと思うのなら、「タイムシートのコマ数」という感覚だけに頼るのは、そろそろ卒業したほうが良い‥‥と、少なくとも私は感じます。

 

 

 


関連する記事

calendar

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
<< July 2018 >>

selected entries

categories

archives

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM