見出し画像

【Blender】Vroidで作成したキャラクターにMixamoでアニメーションを付ける

Mixamoとは3DのアニメーションデータをFBX形式でダウンロードできるサイトです。いつのまにかAdobeになっていましたが、いまでも無料で使えるようです。

最大の特徴は単純にアニメーションデータをダウンロードできるということだけでなく、オリジナルのキャラクターをアップロードするだけでリギングが行えるというところでしょうか。

リギング
【よみ】りぎんぐ【英名】rigging
3DCGモデルに対して、アニメーションをつけるための設定を施す工程のこと。セットアップともよぶ。モデルとスケルトンを関連づけるスキニングや、IK/FKの設定、ウエイト調整、デフォーメーション設定などが含まれる。アニメーターが直接操作するコントローラーを制作することもある。

出典:CGWORLD |CG用語辞典

自分の場合はVroidで作成したキャラクターを使ってみましたが、少し手間がかかるのでその備忘録も兼ねて。Mixamoのデータとあわせて下記のような動画をつくってみました。(アニメっぽさを出すためにフレーム数を落としてます)

BlenderにVRMを読み込み、FBXで書き出す

・VRM Add-on for Blenderをダウンロード・インストール
Vroidで書き出したVRM形式のファイルを読み込めるようにします。

・cats-blender-pluginをダウンロード・インストール
VRCHAT用に軽量化するためのプラグインですが、VRCHAT以外の目的でも軽量化に使えます。

以下手順です。

VRMデータを読み込む
CATSタブからモデルを修正
Vroidのシェイプキーを一度全部削除する必要がある…
Bodyを選択してモディファイアーを適用
オブジェクトでBodyを選択してからFBXでエクスポート
FBXで書き出す時の設定

というようにMixamoに読み込む前に軽量化をしてからFBXに書き出します。
上記のように設定すると「○○.fbm」というフォルダーと「○○.fbx」というファイルが保存されます。これらをzipで固めておきます。
ここまでの作業でキャラクターの基本ファイルのバックアップ用として保存しておくのをおすすめします。

MixamoにFBXを読み込む

Adobeを使っていなくても、無料でアカウント作成できる
zipで固めたfbxのキャラクターデータをアップロード
しばらくすると読み込みが完了
関節を設定する画面(参考図のようにドラッグするだけ)
アップロード完了

左のサムネイルを選択すると、アップロードしたキャラクターでアニメーションを確認することができます。そのアップロードしたキャラクターにアニメーションがついたFBXデータをダウンロードすることができます。

ダウンロードしたFBXファイルをBlenderに読み込む

インポートからMixamoからダウンロードしたFBXファイルを読み込みます。読み込むとこんな感じ。

読み込むとマテリアルがVroidの設定と違う

VroidはマテリアルにMToonが設定されているのですが、MixamoからダウンロードしたFBXを読み込むと、MToonとは違う設定になっているため、見た目がおかしなことになっています。元のVRMファイルをこのファイル内に読み込むと、MToonの設定になっているマテリアルも一緒に読み込まれるので、おかしくなっている見た目を、元のマテリアルの設定に変更することで元通りにすることができます。(なんか日本語がおかしい)

マテリアルの設定が完了

ここまで来ると、再生ボタンを押すことで一通りアニメーションが確認できるようになります。

Mixamoのアドオンで他のアニメーションデータを適用する

mixamoで用意してあるコントロールリグのアドオンを使うと、他のアニメーションも適用することができます。

Armatureを選択してMixamoタブから「Create Control Rig」
手足が変な向きになることもあるが、「Zero Out Rig」で正常な体勢になる

上図のようにコントロールリグが正常に設定されたら、このファイルにmixamoからダウンロードした他のアニメーションデータをインポートします。

他のアニメーションデータを読み込む

コントロールリグを選択した状態で、読み込んだArmatureをスポイトツールで指定し、「Apply Animation to Control Rig」ボタンを押すとアニメーションがコピーされます。

アニメーションがコピーされました

今度はマテリアルの設定もおかしくならずに、別のアニメーションを適用することができました。再生ボタンなどを押して、アニメーションが適用されているか確認してしてみてください。レンダリングの際は読み込んだオブジェクトがレンダリングされないようにオフにしてください。

ココから結構大変だった…

2つほど問題がありました。

髪の毛の長いキャラクターには不向き?

ダウンロードしたFBXをBlenderにインポートした場合、髪の毛は単純に頭や肩、髪のボーンなどのウェイトにあわせて動いているだけになるので、髪の長いキャラクターは少々不自然な感じになります。
クロスやウェイト、アニメーションなどを再度設定する必要があります。なにか良い方法があるのか…。Unityのほうで読み込むと大丈夫そうなのかな…?

シェイプキーを再設定する必要がある

前段でシェイプキーを一度全部削除しないとmixamoに読み込めなかったので、再度インポートしたFBXにも当然シェイプキーなどは存在しません。そうなるとVroidで用意されていた表情なども出せなくなってしまうので、顔の部分だけ分解して再結合などして、表情も出せるようにしました。
これも良い方法があるのか知りたい…。

編集で工夫を

自分はアニメっぽさを求めているので、どうしても3Dの不自然さみたいなところが気になります。だったら3Dで作るなよということにもなるのですが、そこは一人で作るとなるとアニメーションを描いていくのは相当大変。なので編集で、Premiereなどで12.5フレームにして動きをカクつかせてみたり、編集の工程に最近リリースされた「Shoost」というソフトを活用してみたりしました。

アニメっぽさを演出するものとして画期的でしかも簡単、多くの人に表現の幅を持たせてくれるすばらしいアプリです。
アニメーション界隈では、こういう当事者達の成し遂げたいことの熱量から生まれるユーザーイノベーション的なアプリ、機能、アイデアがたくさん生まれています。自分のクオリティはともかく、創作意欲は増すばかりです。

いいなと思ったら応援しよう!