モーション（fbx/bvh）からvrma（VRMアニメーション）を作成

# 記事の概要

Vroid Studioでモデルを作成したので、Vroid Hubで動かしてみると、vrmaというアニメーションファイルがあれば、モデルのモーションを外部から読み込むことができるということで、vrmaファイルの作成手順を検討する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/f80dac0f-c3e0-1901-a90a-d0f4f002a035.png)

https://vroid.com/studio

https://hub.vroid.com/

動画でも解説してます。

https://youtu.be/C1C3jpwtFqI

# vrmaファイル作成までの流れ

以下のようなフローとなる。
・Mootionでfbxファイルを作成
・Blenderでfbxファイルをインプットにbvhファイルを作成
・Unityでbvhをインプットにvrmaファイルを作成
・Vroid hubでvrmaファイルを読み込み


```mermaid
flowchart TD
    C[Mootion] -->|FBXファイル| D[Blender]
    D -->|BVHファイル| E[Unity + UniVRM]
    E -->|VRMAファイル| G[Vroid hub]
```

# vrmaファイル作成手順

### Mootionでfbxファイルを作成

discordで生成ができるので、以下からdiscordに参加する。

https://www.mootion.com/

チャンネルが10個あるが、どこでもいいので入る。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/2fb2f5cf-a4a8-6b3a-33f6-cd76cba56be3.png)

「/motion」と入力し、prompt、character、inplaceを入力する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/85b395eb-e8ce-ba0f-0668-637b8dff1f51.png)

少し経つと以下のようにモーションが作成されるので、「M1(fbx)」か「M2(fbx)」を押下して、ダウンロードする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/e396ad79-6fb1-9f18-76ea-eae12e97803e.png)

zipファイルでダウンロードされるが、解凍すると「fbx」ファイルが格納されている。

### Blenderでfbxファイルをインプットにbvhファイルを作成

特に説明はしないが、3Dを操作するオープンソースのソフトであるBlenderをインストール。

https://www.blender.org/download/

Blenderを開いたら最初に出てくるオブジェクトを「delete」で削除する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/4c7a0aaf-25c3-14ef-9abc-5372ffc4e9cb.png)

「ファイル　＞　インポート　＞　EBX(.fbx)」でfbxファイルをBlenderに取り込む。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/8a5f913e-b89d-6212-1860-9b6357dd4629.png)

「ファイル　＞　エクスポート　＞　モーションキャプチャ(.bvh)」でbvhファイルを出力する。
（bvhが非活性になっていたら、Blenderの工程をやり直す。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/7fc2b6f7-1360-ceb3-06c4-f683df641cf8.png)


### Unityでbvhをインプットにvrmaファイルを作成

Unity Personalをインストールする。

https://unity.com/ja/download

Unity Hubで「New project」からプロジェクトを作成する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/da174bf8-1a09-5b56-6092-bbcac1418703.png)

「3D」を選択して「Create project」を押下する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/ca51acf8-2902-cbdf-aac7-47fa1b880119.png)

以下からUniVRMをローカルにダウンロードする。

https://github.com/vrm-c/UniVRM/releases/tag/v0.122.0

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/098615a4-ab58-d18a-33ea-56fd8ff4e6e3.png)

Unity上で「Assets　＞　Import Package　＞　Custom Package...」を選択し、ダウンロードしたファイルを指定する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/d022f4b3-d3ee-b00c-2d9d-6800f37abd33.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/49e7e7b5-7de9-e866-177d-066f721798d4.png)

以下は「Import」を押下する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/a3a9d751-3d1e-813e-1610-5a0323702da8.png)

「VRM1　＞　Experimental　＞　Convert BVH to VRM-Animation...」を押下し、対象のbvhファイルを選択するとvrmaファイルが作成される。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/67cd93ec-fcc4-1446-2e19-da46dabfde73.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/55f5c2c2-0a01-0ec7-59b0-49dcb616b3e6.png)

### Vroid hubでvrmaファイルを読み込み

Vroid Hub上でvrmaファイルを取り込めば、作成したVroidがMootionで作成したモーションで動く。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/76b2a647-b590-859c-dd3f-46b840f93d5d.png)