VRoidモデルにUnityでモーションを付け、背景透過で動画出力する方法

VRoid Studioで作った3Dモデルにモーションを付けて、背景透過で動画出力する方法について。

自主アニメーション製作用の忘備録としてまとめておきます。

制作環境
・VRoid Studio
・Unity 2019.4.31f1 (64-bit)
・YMM4(ゆっくりムービーメーカー4)

とりあえず完成品はこんな感じ。
動画冒頭で、男性キャラクターが歩いている!


方法①VRoid Studioにプリセットされているモーションを使用。

1.まずは簡単なやり方から…

Vtuber御用達のソフト「VRoid Studio」には、モーションがいくつか用意されています。
このソフトで3Dモデルを作成した後、「ポーズ&アニメーション」から、プリセットされた歩行モーションを選択。
>背景に別途用意した緑色画像を指定する。
>windows標準装備の「Game Bar」や、「oCam」などを使用し、動画キャプチャ。

VRoid Studioの画面

2.キャプチャした動画をYMM4に読み込み、背景色を消す

YMM4にて、映像エフェクト>クロマキー>キー色をクリック、「画面から色を選択する」から緑の背景色を指定>色範囲50%くらいに。「境界をぼかす」にチェック。

YMM4の画面

…これで歩行するアニメができました。

お手軽な方法だけど、男性キャラの輪郭に緑の背景色が残りやすいです。背景色を完全に取り除くことは難しいかも。また画質についても、少々妥協しなくてはならないかもしれません。

そして何より、VRoid Studioに用意されているのは可愛らしいキャピキャピ系モーションばかり。どの動きも、ザ・Vtuberって感じですね。

方法②Unity、Mixamoを使用。

次に2つ目の方法。VRoid Studioのプリセットではなく、UnityとMixamoを使ったやり方をまとめておきます。Unityは手間がかかる代わりに、自由なモーションを付けることが可能で、とてもきれいに仕上がります。

冒頭動画では、こちらの方法を使用しています。
しかしあまりにも煩雑なので、今回は全体の流れをざっくりと。

Unityとは:
Personal版は無料。商用OK(ただし年間売上10万ドル以下に限る)。
ゲーム開発ソフトだが、3Dキーフレームアニメも作れる。つまり3Dモデルに対して複数時点におけるポーズを付与すると、その中間部分の動きが自動で描写される。
アセットストアで購入した追加素材はごく一部を除き、改変OK・商用利用OK。
1体の3Dモデルにモーションを付ける程度であれば、グラボ搭載のハイスペックPCでなくても、5年前に5万円で購入した私のノートPCでも意外とサクサク動いた。どうせ無料だし、試してみる価値はあると思うね。
とはいえ覚えるべきこと、設定項目やパラメーターが異様に多く、ノートPCの小さい画面サイズだと見づらい。21インチ以上のモニターがあると作業しやすい。
Unityは「本来プログラミングで行うことをマウスでもできるようにしたもの」なので、文系の私には直感的に使いづらい。予期せぬバクが生じたとき途方に暮れる。ひたすらバグを修正する日々。お絵かきソフトやYMM4なら2時間でできそうなことが、Unityなら丸3日かかる。いや、マジで。
…文句ばかり並べたけど、「VRoidで作成したモデルにオリジナルのモーションを付けて背景透過動画にする」という目的に叶う、しかも無料のソフトなら、今のところUnity一択かなと。
また最終的な仕上がりはきれいです。

1.Vroidで作ったvrm形式のモデルを、unityに取り込む。

まずUnityには大量のバージョンが存在する。Vroidモデルを使うのであれば、「Unity 2019.4.31f1」が良いらしいぞ。
Unityの追加アセット「UniVRM」で取り込むのだが、その際、Unity画面にてvroidモデルがうまく表示されず、全身ピンクの化け物になる可能性がある。その対策として「lilToon」というものを使うらしいぞ。
私はUnityを導入するだけで丸一日かかったぞ。朝から晩までピンクの化け物と格闘を続けたのだ。
がんばって調べるんだな!うはは!

2.Unityに取り込んだVRoidモデルに、モーションを付ける。

Unityで1から自分でモーションを付けることもできるが、超絶めんどくさいので、Mixamoを使うと少し楽できるぞ。

Mixamoとは:
無料。商用利用OK。adobe社が提供。
大量の3Dモデルと3Dアニメーション素材(モーションデータ)を無料でDL出来るサイト。
自分で用意した3Dモデル(fbx形式)にモーションを付与できる。
ただし、用意されているのはいかにもアメリカンなオーバーな動きばかりなので、Mixamoからモーションをunityに取り込んだのち、Unity側で修正が必要かもしれない。べつにそのまま使ってもいいけどね。東映ヤクザ映画みたいな歩き方になるけどね。

なぜ、どいつもこいつもキャピキャピ系かヤクザ系ばかりなのだ。日常的な淡々とした動きはないのか!

・Unityの追加アセット「Very Animation(50ドル、約7500円)」を使うと、モーション修正作業が少し楽になるね。

・なんだかんだで一通り、Unityでモーション付けが完成しました。

Unity画面。小さい文字ばかり見ていると、きっと視力が悪くなるよね。

3.Unityから連番PNGで動画出力

・Unityで作成したアニメーション動画を、アルファチャンネル付き(背景透過)連番PNGで出力できる。これでYMM4で自由に扱えるね。

・camera preview画面でモーション再生すると描画が崩れることがあるが、動画出力では問題ないようだ。

・カメラ設定にて、背景透過にする
Main camera>Inspector>Clear Flagsを「Solid Color」にする。
「Background」を選択、A(アルファチャンネル、不透明度)を0にする。

・アルファ付き連番PNGを出力するためには、追加アセット「Unity Recorder」をインストールする。

・インストールした「Unity Recorder」の開き方:
上部メニュー Window>General>Recorder>Recorder Window

・「Unity Recorder」設定は下図の通り。

膨大な枚数のPNG画像が出力されるので、出力前にあらかじめ保存先のフォルダを作成しておこう。

・ちなみに画像サイズをFHDから4Kに上げると、明らかに画質が良くなった。MaterialのShaderを細かくいじるより、はるかに効果がある。4Kは容量が大きいが、人物アップ時は4K高画質のほうが良さそう。

4.連番PNGをYMM4に取り込む

・YMM4では、1つのフォルダに格納された連番PNG画像を、動画として取り扱うことができる。
ということは、連番PNG動画を途中でカットして(オブジェクトを選択、「ctrl+B」キーで、再生位置で分割)、再生速度を部分的に変更できる。また再生速度をマイナスにすると逆再生できる。
また再生時間をゼロにすると、動画を静止画のように扱える。便利!

・「動画アイテム」をクリック>連番PNG画像が格納されたフォルダを選択>「動画ファイル」をクリック、「すべてのファイル」に変更>1番目の画像(image_XXX_0001.png)を選択

きれいに歩いている!
背景透過もできている!これで別途用意したイラストを背景に使えるね!

でもファイルサイズが大きくなるので、容量がとんでもないことに。とほほ…。

●参考webサイト
https://netsis.jp/unity/unity-alpha-movie/

あなたのグラスのてっぺんを、私のグラスの足元に。私のグラスのてっぺんを、あなたのグラスの足元に。ちりんと一回、ちりんと二回。天来の響きの妙なるかな! byディケンズ。Amazon.co.jpアソシエイト。