MMD奮闘記(4)-動画作成-
今剣ちゃんと厚くんが歌って踊れるようになりました。
そしたら、とりあえず動画として取り出してみたくなる。
しかし、Unityってゲームを作るためのソフトなんですよ。
あくまでも、CGがプログラム通りに動いているだけで、
動画ではないんですよね。
これが今回の落とし穴♥
さて、まずは検索。
「Unity 動画 出力」あたり。
一発で出力できるなんて見つからない。
見つからない。
後からAsset store見たら$200くらいでQuickに出すのとかあったんで、
お金を惜しまない方はよいかと思います。
僕は$25(約3000円)でも渋りましたが。
話が逸れました。
まず参考にするのがこちら。
Unity から連番ビットマップを出力する – Keijiro Takahashi
Unityでは、再生画面というのはフレームごとにスクリプトetc.を読み込み、
描画しているだけらしいのです。
まあ、ゲームだしね。
なので、その1フレームごとに画像として保存し、
後から動画として繋げる。
コマ動画作る感覚ですよ。
「こんな感じ」のリンクからGithubに飛んで、
右下のdownload zipからcsファイルをゲットします。
これをAsset->script内に入れて、その後、メインカメラにアタッチします。
スクリプトの内容コピペでもよいですが、
うちではなんでかエラーでできません。
これを使うと、フレームごとに画像を作成してくれます。
描画サイズは再生画面と同じ。
大きい動画にしたかったら、大きい画面にします。
僕は容量が不安なので小さめ。
メインカメラのアタッチしたのがこんな感じ。
Auto Recordをチェックすると再生した頭から全部書きだすし、
外していると再生画面左上にStarting recordってボタンが表示されて、
任意の場所から始められてとても便利です。
フレームレートが30で動画が90秒です(察し)
次に書きだした画像を動画としてつなぎます。
こちらにある通り、ffmpegを使います。
ダウンロードして、適当なとこに置く。
ターミナルからそのフォルダにcdする。
ここまでが前準備。
使うコマンドはまぁ見たままにやる。
ffmpeg -i "Capture/frame%04d.png" -vcodec mpeg4 -b 6000k out.mov
「%04d」は4桁の数字ですよーって意味。
自分が最終的に叩いたのは、
> ffmpeg -r 30 -i Capture/%04d.png -b:v 10000k -vcodec mpeg4 test.mov
-rはフレームレート、-b:vは動画の綺麗さ、-vcodecは動画の形式、だったハズ。
正式なのはお調べください。
つか、形式にmpeg4指定してんのにmovファイル。
ちょっと謎だけど、とりあえず動きます。
これで動画が作成できました。
今度は複数カットを編集していきます。