Quakeのムービーをいろいろ調べながら作っています。
使っているツールは以下のものです。
Q3mme
VirtualDub
AVISynth
meGUI
Vegas 7.0
x264(コーデック)
まずはQ3mmeでdemoを再生します。
mme_blurFrames 20
mme_blurOverlap 20
mme_captureFPS 400
僕はこの設定でとっています。
Vegasは1200fpsまでの録画したdemoを通常の速度に戻すことが可能です。
1000fps以上で撮るにはspeedを変えましょう。
speed 0.1 mme_captureFPS 100なら1000fpsでキャプれます。
次にVirtualDubを使って動画を作成します。
先頭の画像(多分000000.tgaとかなってるやつ。)
をVirutlaDubの画面にドラッグアンドドロップで放り込むと
自動でファイルが読み込まれます。
ここでは割愛しますが、僕はこの段階でリサイズとsharpnessかけてます。
この辺は好みだと思います。
で、先ほどキャプチャーした連番tgaを100fpsで動画にします。
映像→フレームレート→ソースレート調整→変更するにチェック→100fps
コーデックはctrl+pでhuffyuvなどを指定します。
可逆圧縮なコーデックか無圧縮で作ります。
次にvegasで速度を変更します。
ファイルを右クリック→ベロシティーで表示させます。
1200fpsで再生した場合はベロシティーを300%、
ファイルの再生レートを4にしましょう。
400fpsの場合はファイルの再生レートを4にするだけでOKです。
あとは適当な長さに編集して出力。
これで元の速度に戻ります。
何でこんな面倒なことを行うのかというと
VirtualDubが最大で199fpsまでにしか対応していない為です。
200fpsを超える動画を作成する場合は、この変換手順を踏まないと
元の速度になりません。
出力する際のfpsは50にしてます。
元のファイルが400fpsなので
ものすごくスムーズな50fpsの動画が出来上がります。
ちなみに、Unityというムービーは2500fpsから4000fpsで作成されています。
最近のQ3Movieはこのようなhigh-fpsなものが主流です。
vegasではなくpremiereを使ってもいいのですが
スマートレンダリングに対応していないので、速度の変換をかけると
元の動画がかなり劣化します。
スマートレンダリングのプラグインは3万以上しますが
使い勝手に関してはpremiereの方が上です。
お金持ちさんはpremiereにプラグインでもいいと思います。
次にmeGUI使って264を作成します。
この時点でavisynthが入ってなかったらインストールしましょう。(ググって。)
適当な名前のavsファイルを作成します。
AviSource("ここにファイル名.avi")
ConvertToYV12()
wikiがあるのでわからないことはそっちで調べましょう。
とりあえずはこれでOKです。
meGUIのAviSynthScriptで
先ほど作成したavsファイルを指定しmp4で出力します。
一度rawにしたほうがいいかもしれないですが
僕がよくわかってなくて利点が見出せないので
mp4にしちゃいます。おそらくファイルサイズが変わってくるのかも。。
configファイルは以下のものを使用しています。
http://members.jcom.home.ne.jp/bart-q3/toriyamancom.xml
¥profiles¥video配下におきましょう。
細かい仕様に関してはx264についていろいろ調べてみましょう。
僕もよくわかってないです。
あとはEnqueueボタンを押してQueueタブでStartを押せば開始します。
で、出来上がり。簡単ですね。
出来上がった動画
http://members.jcom.home.ne.jp/bart-q3/ztnYonRailRLx2Vegas.mp4
あとはまだよくわかってないQuantizer matrixだとかがあるんですが
おそらくファイルサイズや画質的にもかなり頭打ちなカンジなので
そこまで追求しないかもしれないです。
わりとmotion blurでごまかせるし。。
とりあえず、滑らかなムービー作るには多くの手順を踏まないと無理。
あとPCは最低2台必要だと思う。
僕は1台でやってますが、キャプチャー,レンダリング,エンコードに
時間がかかりすぎて効率悪いです。
専用のコンバートなPCがほしい…。