MMDで作成した.aviファイルの背景を透過して.swfに!
MMDの背景が透過できれば色々楽ですよね、
今回は透過するだけでなく、OBSなどに読み込んで表示できる.swfファイルへの変換まで解説していきます。
MMD単体では透過ができないのでAviutlと言う有名なエンコードソフトも併用していきます。
1.MMDの導入(http://www.geocities.jp/higuchuu4/)
上記サイトへアクセスし、少し下へスクロールして
この青い文字をクリックしてダウンロード(64bitの方は別のバージョンがあります)
.zip形式でダウンロードされるのでWinRAR等を使って解凍して下さい。
これでMMDの導入完了です。
2.Aviutlの導入とスクリプトの導入(http://nicowiki.com/aviutl_h264.html)
公式から入手してもいいのですが、上記のサイトで配布されている方がアップデート等簡単に行えるので今回はこちらを使っていきます。
サイトにアクセスし、「Aviutlアップデートセット」をクリック。
アップローダーに移動するので「Aviutl_updateset_○○←ここは数字が入ります」をクリックしてダウンロード、解凍して下さい。
このまま使ってもいいのですが、アップデートが色々溜まっているので一気に済ませておきましょう。
解凍したファイルを開き、「Aviutl_Updateset」の中にある「aviutlupdate.exe」をダブルクリック。
各プラグインのチェックが始まるので待ちます。
アップデートするかどうか聞かれるので「OK」をクリック。
こんな画面になります、ここからはキーボードで操作します。
・AviUtlをアップデートしますか?[Y][Y/N/H]
y押してエンター
ここからはy押してエンター地獄です(そんなにありあません)
Nero AAC Codecをアップデートしますか?[Y][Y/N/H]
と聞かれたらyを押してエンター、もう一度何かキーを押すとサイトが開きます。
下の方にスクロールして「同意する」をクリック。
メールアドレスを入力し、同意するにチェックを入れ「ダウンロード」をクリック。
この場合だとバージョンが「1.5.1」と書いてありますね?
これをAviUtlに入力してエンター。
あとはまたy押してエンター(笑)
アップデートが始まるので終わるまで待ちます。
ここまでで基本的なAviUtlの導入は終了です、完全に終わったわけではありません。
背景を消す作業をこのソフトで行います、元々ある機能を使ってもいいのですが少し弊害があるので(最後に説明します)regretさんの作った「塗りつぶし-色領域」というスクリプトを導入して使っていきます。
スクリプトって?
簡単に言えばソフトに機能を追加するファイルの事です。
まず、スクリプト導入前の準備。
AviUtlのファイルを開いてpluginsの中にscriptというファイルを作成します。
(既にある場合は大丈夫です)
次に、スクリプトを配布しているサイトにアクセス
動画詳細文にあるURLにアクセスしてダウンロードし、解凍します。
出てきた@regret.anm、regret_core.dllの2つを先程作ったscriptフォルダに入れます。
これでAviutlの導入は終了です。
3.MMDで動画作成&.avi出力
MMDの使い方はやってると終わらないので省略します。
動画が完成したら肝心な出力の設定。(背景は基本白ですが変更する場合は単色にして下さい)
ファイル→AVIファイルに出力 を選択しフレームレートと録画フレームを入力します。
ビデオ圧縮コーデックを「UtVideo RGBA (ULRA) DMO」にします。
OKを押して.avi出力、待ちます。
4.Aviutlで背景を消す&.avi出力
次はAviutlで読み込みます。
起動し、設定→拡張編集の設定 をクリック。
別窓が現れます。
この窓に先程作成した動画をドラック&ドロップで追加します。(レイヤーはどこでも構いませんが1にするのが無難でしょう)
各項目を設定します(この時フレームレートはMMDで設定した数値にする方がいいです)
追加が終わるとまた別窓が現れます(出てこない場合は追加した青い帯をダブルクリックしてください)
このままだとスクリプトの読み込みができていないので読み込みます。
↑画像の赤いところ周辺(どこでもいいです)を右クリック→フィルタ効果の追加→アニメーション効果、をクリック。
↑このように項目が増えます。
「震える」の右の下矢印をクリックして「塗りつぶし-色領域@regret」を選択。
下矢印の少し右にある「色」の項目をクリックし、消したい背景の色を選択、「OK」
AviUtlの動画画面にある丸を背景のどこでもいいので持っていきます↓
塗りつぶし-色領域の透明度のつまみを一番右に(数値を100に)します↓
この時に動画の方の透明度は変えないでください、真っ暗になってしまいます。
動画の方を見てみると人物の周りが黒くなっいると思います。
「アルファチャンネルを読み込む」にチェックを入れても透過できますが、私が試したところ変わりはなかったのでチェックしなくても大丈夫です。
これで透過は完了です。
拡張編集の窓に行き、右クリック→ファイル→メディアオブジェクトのAVI/BMP出力(RGBA)を選択。
ファイル名を決めて保存、待ちます。
これで背景を透過した.aviの動画が完成です。
5..aviから.swfに変換
色んなフリーソフトがありますが、色々使ってみたところXMedia Recodeがいいと思いました。
公式サイト(http://www.xmedia-recode.de/download.html)にアクセスしてDownloadをクリック、保存、インストール
起動したら先程作った.aviファイルを追加
追加したファイルをクリックして形式をSWFに、出力ストリーム形式をビデオのみ、に変更↓
リストに追加をクリック、エンコードをクリック、待ちます。
これで.swfが完成です。
5.OBSに読み込んで不可視部分を消す
最後にOBSの設定です。
普通に追加するとこのように背景が黒くなってしまっています。
人物の上で右クリック、カラーのタブに移動してクロマキー合成にチェック、RGBにチェック↓
戻ってみると・・・
お疲れ様でした、踊ってくれていれば完了です。
3で説明した「塗りつぶし-色領域」を使う理由(読まなくてもいいです)
純正のクロマキーや他の機能を使って背景を透過した場合、
「指定した色を他の色に塗りつぶす」効果が付きます。
背景を透過したいので背景の色を透明で塗りつぶす事になります。
もし、背景に人物と同じ色が入っていたら?
人物の一部も透明で塗りつぶされてしまいます。
塗りつぶし-色領域は「隣接していない選択した色は塗りつぶされない」効果が付きます。
今回は何回かに分けようと思ったのですが時間が有り余っていたので一気に書いてみました。
備忘録なので手荒い部分も多かったと思います、分からないところ等ありましたら遠慮なくコメント下さい。
それでは