October 12, 2009

FLASH 8は捨てられない

以前、Flashは偶数バージョンがいいって投稿でCS3のビデオ書き出しがダメって書いたけど、改善される気配が見えてこないので改めてとりあげておきます。アニメーション制作では、ビデオ納品がほとんどです。クライアントはFlashで制作するかどうかは問わないので、Flash使ってるのはこちらの勝手なんですが、作画を含めてFlashがアニメ制作に向いてるのは明白ですね。だって、もともとそのためのアプリだもん。

録画

Flash CS3/CS4のビデオ書き出し

Flash CS3からMOVビデオ書き出しが変わりました。ActionScriptやムービークリップのアニメーションでもビデオに書き出せるようになってます。そのプロセスは、FlashPlayerでメモリ上にSWFを再生してキャプチャするんですよ。SWFプレビューを録画するだけになってしまってるんだもの。中間にSWFを介していることは、制作上非常に都合が悪いんです。

Flashトラックではだめだ

Flash 8のビデオ書き出しフォーマットで「QuickTimeビデオ」じゃない方、「QuickTime」は、Flash CS3までパブリッシュにあったQuickTimeと同じです。つまりMOVのFlashトラックを利用するタイプです。FlashトラックというのはMOVのビデオトラックとは別に、SWFを含むことができる規格です。ベクター画像やAS1.0に対応しています。ビデオにFlashで作ったUIを加えることができたんです。ただし、FlashPlayer 5までしかサポートされなかったため、線の伸縮やカスタムイージング、フィルなどは使えません。QuickTime7からはFlashトラックそのものに対応しなくなったため、Flash CS4ではパブリッシュからも消え、幻のフォーマットになりました。

SWFのビデオ化ではだめだ

SWFはタイムライン通りのタイミングで再生してくれません。たとえば、絵の密度が高いほど再生パフォーマンスは低下します。線の太さはやアルファも影響をうけます。つまりフレームごとの再生パフォーマンスは一定ではないため、タイムラインとはタイミングが違ってしまうわけなんです。それって意味ないです。目的はビデオであって、SWFではないんです。しかも書き出されたビデオファイルのFPSは不安定でオリジナルとは違います。Flash 8まではタイムラインをシーケンシャルに書き出してくれてたのに何てこった。ビデオ前提なら、ASやムビクリ使わなきゃいいだけでしょ。

PNGシーケンスの選択

SWFの制作時ってプレビューで確認しながら作業するでしょ?ビデオの場合は、SWF再生はアテにならないので、ビデオを書き出して動きを確認するわけです。SWFがアテにならないからそうしてるのに、SWFを録画したビデオファイルが何の役にたつでしょう。Flash CS3/CS4のMOV書き出しが信頼できない今では、PNGシーケンス書き出しということになってます。PNGシーケンスはタイムラインをシーケンシャルに書き出してくれるからです。でもやっぱり不便なんだよねー。

PNGシーケンスのデメリット

1.そのままでは再生できない。
書き出されたファイルはどれも静止画なので、アニメーションとしては再生できません。シーケンスビデオに対応したアプリで開いてからでないと確認できません。確認しながら作業したいのに、めんどくさー。MOVならダブルクリックするだけです。

2.ファイルがたくさん
タイムラインのフレーム数がファイル数になります。尺が長いとファイルもわんさか。30FPSで20秒のカットでは600ファイルですよ、後始末も大変です。Flash 8のMOV書き出しならば、1ファイルです。

3.書き出しに時間がかかる
30FPS/720×540で20秒のカットを、確認用に400×300に縮小して書き出すと、4分45秒ほどかかります。その間ボケーっと待ちます。Flash 8のMOV書き出しならば、わずか31秒です。

4.音がない!
静止画のファイル群なので、音の確認はできません。SE・ME、セリフやNAのきっかけや同期などは確認できません。Flash 8のMOV書き出しならば、しっかりサウンド付きです。CS4で作業する場合、CS3に書き出して、CS3で開いてFlash 8に書き出して、Flash 8で開いてMOV書き出しです。または、最初からFlash 8で作業するかです。

結論

てことで、ビデオ書き出しはFlash 8がいいんです。捨てられません。ただし、SWFをビデオ化する手もあります。

AEのSWF読み込み

SWFはASアニメやムービークリップアニメを使っていなければ、タイムラインどおりになっています。プロファイラで確認できる通りです。このSWFをAfterEffects CS3以上で読み込むと、シーケンシャルなタイムラインで読み込んでくれます。ただ、その都度フレームごとにラスタライズするので、時間がかかります。作業中の確認には向きませんです。あとね、Flashのタイムラインに割り付けた音はもってこれない←ここ重要!
Posted by A.e.Suck at October 12, 2009 10:09 PM