![見出し画像](https://assets.st-note.com/production/uploads/images/91905447/rectangle_large_type_2_f0b7a319182f94fb34d4b16dda28fa95.png?width=800)
#2【備忘録】Unityに取り込んだVroidをMixamoで動かしてみる【無謀にも3D東方二次創作ゲーム作成】
<前回の記事>
前回の記事ではVroidをStarterAssetsを使って動かすところまで作りました。
歩き、ダッシュ、ジャンプという最低限のアクションは実装されているのですが、2つ問題があります。
![](https://assets.st-note.com/img/1669553084671-oUXAhVqrKD.png?width=800)
![](https://assets.st-note.com/production/uploads/images/92106263/picture_pc_e55419a78f88caad16f05e41af6d620e.gif?width=800)
上の動画を見てもらえばわかるように、ジャンプがガニ股で可愛くありません。そして腕がスカートに干渉してしまっています。
また、他の動きもさせたいところです。
1.Mixamoとは何か
MixamoはAdobe社が無料でキャラモデルとキャラモーションを配布している、ただの神サービスです。ひろはす氏も動画で紹介されていますね。
Mixamoで入手したモーションを以下の動画を参考にVroidにさせてみますが、動画とは少し手順を変え、効率化を図りました。
2.Mixamoのモーションの調整及びダウンロード方法
1.Blenderで.vrmファイルを.fbxに変換する
無料の3DCG制作ツール「Blender」に.vrm形式のVroidをインポートし、.fbx形式のファイルとしてエクスポートします。以下の記事を参考にしてください。
2.mixamoに.fbxモデルをアップロードし、モーションを調整する
![](https://assets.st-note.com/img/1669554436218-ElVkkcT5sT.png?width=800)
Mixamoにログインし、画面右上の「UPLOAD CHARACTER」から変換した.fbxファイルをアップロードすると、画面中央付近にアップロードしたVroid(今回は霧雨魔理沙)がプレビュー用モデルとして表示されます。
画面左のモーションを選択すると、プレビューモデルが、そのモーションをするので、画面右のパラメータを調整します。
![](https://assets.st-note.com/production/uploads/images/92107897/picture_pc_e68418ad66ee768338084bb90f74648b.gif?width=800)
「Overdrive」はモーションの速度を変更できます。
「CharacterArmSpace」は腕の位置を変更できます。腕が服に干渉している場合には調整しましょう。
「Trim」はデータとして書き出す時間帯を変更できます。
「Mirror」にチェックを入れると反転します。
「inPlace」にチェックを入れると、その場に留まるようになります。足踏み等させたい時にはチェックしたままデータ出力してください。
モーションによって、調整可能な項目が増えますので、色々試してみてください。
3.Mixamoからモーションファイルをダウンロードする
モーションをダウンロードする場合は、画面右上の「DOWNLOAD」をクリックします。
![](https://assets.st-note.com/img/1669555467725-AnsYKjSyTW.png?width=800)
DOWNLOAD SETTINGSウィンドウが表示されますので、Formatを「FBX for Unity(.fbx)」、Skinを「Without Skin」にし、DOWNLOADををクリックしてください。
ただし、キャラクター1人について、1つだけSkinを「with skin」でダウンロードしてください。
with skinにするとモーションファイルに、プレビュー表示されているキャラクターの情報が含まれて、キャラクター情報が含まれないwithout skinより5倍以上ファイルサイズが大きくなります。
しかし次の作業にwith skinのデータが必要なので、1つだけはダウンロードする必要があります。
3.Unity上でのモーションの調整
ダウンロードした.fbxファイルをUnityのプロジェクト内にドラッグアンドドロップでインポートし、以下のようにファイルを設定します。
タブ「Rig」
アニメーションタイプ→「ヒューマノイド」に変更します
アバターの定義→「Copy From Other Avatar」に変更します。ただし、WithSkinのモーションは「このモデルから作成」とします。
Source→WithSkinの子オブジェクトになっているアバターを選択する。アバターの定義が「このモデルから作成」の場合は表示されません。
上記3つの設定が終わったら、適用するをクリックして「Animation」タブの設定に移ります。
![](https://assets.st-note.com/img/1669556242681-mgsa0hCbWn.png)
タブ「Animation」
歩くモーション等の場合は「時間をループ」にチェックします。
モーションの接地面がズレている場合があるので、インスペクター下部のプレビューウィンドウ(ダブルクリックすると表示される)を確認し、ズレていたらルートトランスフォーム位置(Y)の基準を「足」に変えます。
上記2つの設定が終わったら、適用するをクリックしてください。
![](https://assets.st-note.com/img/1669556914131-qFkpvquuip.png)
適用が終わると、.fbxファイルの子オブジェクトにAnimationClipが生成されているので、これをAnimatorに突っ込みます。
![](https://assets.st-note.com/img/1669557345743-qoVKdko6P7.png)
![](https://assets.st-note.com/production/uploads/images/92106146/picture_pc_98db3eb848bb900ea7e8c4fa26f55c57.gif?width=800)
![](https://assets.st-note.com/production/uploads/images/92106201/picture_pc_a44bfa73de2c02962a5a110d64084c95.gif?width=800)
次回はステージを作成しようと思います!
<WithSkinのモーションを1つだけ生成する理由>
withoutskinで作成したモーションは全モデル共通なので、モデルの背丈によっては足首が折れてしまいます(以下の動画参照)。
withskinにするとデータは大きく成りますが、そのモデルの背丈等のデータを加味してモーションが作成され、子オブジェクトとしてアバターも生成されます。
そのアバターを他のwithoutskinで作成されたモーションのソースにすると、足首が折れません。なお.vrmのアバターはソースにできませんでした。
今回使用した霊夢と魔理沙のアバターは背丈がほぼ同じなので、2人で1つのwithskinデータで問題ありませんでした。
<Blenderで.vrmから.fbxへの変換を行う理由>
Blenderを通さずに、Unity上だけで.vrmから.fbxへの変換もできるのですが、ボーンのデータが上手くエクスポートされず、mixamoのプレビューでモデルがほとんど動かない状態になったため、Blenderを通しています。
<次回の記事>
<その他・参考記事>
この記事が気に入ったらサポートをしてみませんか?