Mixamoとは何か?
Adobeが提供している人型モデルに適用させるアニメーションを配信しているサービスになります。
様々なアニメーションがアップロードされているので、いちいち手間をかけて作成しなくてもダウンロードして手軽に活用することが可能になっています。
Blenderとは何か?
無料で3DCGモデリングやテクスチャ着用からアニメーション、シミュレーションまで高機能な創作物が作成できる画期的な統合アプリです。ただし高度な制作をしようと思えば思うほど有料のアドオンを購入することになって結局は有償利用と変わらなくなると言う評判もあります。
一から勉強のために作成するのも良いのですが、VRoid Studioなど外部アプリで作成した人型モデルを取り込んでそこからアクセサリを追加したりカスタマイズする利用の方が多いかもしれません。
今はBoothなどで他のクリエイターさんが制作した3D制作物などが販売されていますので、それを購入して足りないものを自分で制作追加する方が初心者さんや個人クリエイターさんには向いているかもしれません。
MixamoのアニメーションをBlenderのモデルに取り込むやり方手順
Mixamoにサインインしてアカウントを作る
BlenderでVRMモデルをインポートしてFBXモデルでエクスポートする
先にVRMモデルをBlenderでインポートで読み込み、エクスポートでfbxで出力しておきます。
モデルをMixamoにアップロードする
アカウントが作成されたらUPLOAD CHARACTERボタンを押してアニメーションをつけたい上で用意したFBXモデルをアップロードします。終了すると右側のキャラクターがVRMモデルとそっくりな真っ白モデルが反映されます。
この時アクセサリがある場合は一緒につけてアップロードした方が良さそうです。
ここにはアクセサリまでは反映されませんが、Blender側で読み込む時はアクセサリ付きの白塗モデルが読み込まれます。
FBXモデルをスキン付きでダウンロードする
ここではバク転のBackflipを検索して選択しています。
その後DOWNLOADボタンを押すと以下のポップアップが立ち上がるので、With Skin、FBX Binary(.fbx)を選択して
DOWNLOADボタンを押します。
BlenderでVRMモデルとアニメーションがついたFBXモデルを読み込む
ファイル>インポート>FBX
ファイル>インポート>VRM
と選択してそれぞれデータを読み込みます。VRMはVRoid Studioなどで出力したそのままのもので大丈夫です。
FBXモデルのタイムライン0にVRMモデルのTポーズをコピーして貼り付ける
まずタイムライン0の2つのTポーズのボーンを下図のように重ね合わせてください。
やり方はVRM側のTポーズをFBX側のポーズのタイムライン0のところでコピーしキーを打ちます。
アーマチュアは上Animatonタグを選択した時にオブジェクトモードで未選択の状態から一箇所一部のボーンを最初に選択するとアーマチュア全体が選択されます。オリジナルVRMにはTポーズのアーマチュアがあり、FBXモデルにはアニメーションがついたアーマチュアが存在します。区別はタイムラインを動かして確認して間違えないように選択してください。
また1フレームからラストまでのキーを選択して(オレンジ色の時選択されている)マウスでドラッグしてスライドさせて1フレームが10フレーム目に来るようにしてください。
以下の状態でタイムライン0にキーを打つ(タイムライン0を選択した状態でキーフレームを挿入を実行)ことを忘れないでください。
タイムライン0でFBXモデルをVRMモデルに重ね合わせ、キーを打つ
タイムラインのキーを全て選択した状態にしてください。選択していないとキーが反映されません。
FBXアニメーションをVRMモデルにコピーする
先にVRMモデルのHairとFaceとBodyを右端のアウトライナーでマウスボックスで囲って選択して、その後アニメーションタグに切り替え、Shift+クリックでFBXのアーマチュア(アニメーションが入っている方)を選択します。
アーマチュアは上Animatonタグを選択した時にオブジェクトモードで未選択の状態から一箇所一部のボーンを最初に選択するとアーマチュア全体が選択されます。
その状態で
オブジェクト>ペアレント>アーマチュア変形(自動のウエイトで)を実行します。
コピー操作を行うときは必ずタイムラインを0に揃えてから行ってください。
その後タイムラインを再生させてVRMモデルがアニメーションするかを確認してください。
ただしBodyやHairはそこそこは安定してアニメーションに追従してくれるのですが、この段階ではまだ顔だけは上手くいきません。テクスチャがずれて表情がおかしくなるからです。
顔のテクスチャがズレる問題への対応方法
MixamoでアップロードしたVRMモデルとそっくり模型がコピーされて、そこにモーションがつけられてダウンロードできるのですが、その模型の顔パーツは真っ白ですが、マテリアルShaderに元のモデルのマテリアルを適用するとこの問題の多くは解決できます。
顔のテクスチャはフラット素材です。そして半透明の素材になります。オリジナルについている名前を確認しながら白マテリアルを入れ替えると顔が正しく表示されます。
タイムラインを再生させるとキャラがバク転をしてくれて、さらにキャラクターの顔もちゃんと反映されています。
次にレンダリングですが、レンダー>画像をレンダリングで確認することができます。
ただしその前にカメラとライトの設定が重要になります。レンダリングはカメラとセットで行われるからです。カメラがキャラを正しく撮影していることと、また照明も適切に配置されていないと撮影することができません。
また1つの光が強すぎると白抜けしてしまうので複数の照明を使って低コントラストにする工夫も必要になります。
ただしこのモーションだけを適用させるだけならもっと簡単なやり方があります。Webcam Motion CaptureにスキンなしのfbxファイルをMixamoからダウンロードしてきて使うことができます。背景も消して白背景にもできるのでそれを撮影して組み合わせてもクリスタ漫画に使いたい場合などは間に合うかもしれません。
その場合はVRMモデルを開いて読み込んだ後ウインドウ画面右で待機モーションとカスタムのところにチェックしてmixamoからスキンなしでダウンロードしたファイルを読み込めば問題なくアニメーションを動かすことが可能です。