自動で表情アニメーションを作成！BlendShapeAnimationGenerator

こんにちは、ユーゴです。
今回は、「BlendShapeAnimationGenerator」というものを紹介します。なんと、**BlendShapeから自動でアニメーションクリップを作成してくれます！**

VRoidでアバターの表情を作っても、VRChatで表情を変えるにはBlendShapeをアニメーションにする必要がありました。せっかく一度VRoid側で設定したのに、Unity側でもう一度設定し直すのは面倒です。なので今回は、本ツールを開発した次第です。
VTuberの3D配信でも使えるかも？

ダウンロードはこちら！
[【無料あり】ブレンドシェイプ → 表情アニメーション生成](https://mu5dvlp.booth.pm/items/4060278)

# 注意事項
・何もない状態から自動で表情を作成するものではありません。VRoidなどのソフトで、事前にブレンドシェイプを設定している想定です。
・VRMBlendShapeProxyが含まれている想定です。これに該当しない場合、生成ができません。

# 使い方
手順1(UniVRM導入)は終わっている方はスキップしてください。
## 1. UniVRM導入
#### 1-1. ダウンロード
最新版をダウンロードします。ただし、0.102系などはUnity2019系をサポートしていないため、**0.99.○などUnity2019系をサポートしているものを選びます。**
![スクリーンショット 2022-08-06 12.25.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2607452/8a7458f4-61d2-1282-0cb4-014720a87bf8.png)

本家様ダウンロードは以下から！
https://github.com/vrm-c/UniVRM/releases

#### 1-2. Unityにインポート
ドラッグ＆ドロップでダウンロードしたファイルをインポートします。
![スクリーンショット 2022-08-06 12.30.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2607452/f19d1670-b699-f0c3-f438-9a91da2bcd38.png)
インポートするものを聞かれますが、デフォルトのまま**全選択**でOK。(以下写真では私の環境で既にインポート済みだったため、チェックが外れてしまった)
<img width=300 src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2607452/0a3ca5c1-446b-312e-96a2-920d6dfb18c8.png>

## 2. VRM導入
#### 2-1. インポート
VRMファイルをドラッグ＆ドロップでインポートします。ファイルがたくさん生成され散乱するので、先に「Avator」などフォルダを作ってその中に入れると良いかも。
![スクリーンショット 2022-08-06 12.51.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2607452/7c9c8e0b-ef0e-a659-d2b7-61cc3e7bbae0.png)
#### 2-2. シーンに配置
イメージがついている「Avator」というファイルをヒエラルキーにドラッグ＆ドロップで配置します。
![スクリーンショット 2022-08-06 13.00.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2607452/900cdf32-4f6c-5415-9ccd-a5fbf48d0eca.png)

## 3. BlendShapeAnimationGenerator導入
#### 3-1. ダウンロード
以下から、ダウンロードします。
[【無料あり】ブレンドシェイプ → 表情アニメーション生成](https://mu5dvlp.booth.pm/items/4060278)

無料版も有料版も機能は変わらないので、ひとまず無料版をダウンロードしましょう。気に入っていただけたら、有料版で支援していただけると幸いです。
#### 3-2. インポート
Unityにドラッグ＆ドロップでインポートします。
#### 3-3. 配置
プロジェクトウィンドウから「Assets > MU5VRC > Prefabs > BlendShapeAnimationGenerator」を見つけ、ヒエラルキーにドラッグ＆ドロップで配置します。
![スクリーンショット 2022-08-06 13.09.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2607452/f45e2e3c-ffc4-86c6-8c50-b1903448efbb.png)
#### 3-4. 生成
ヒエラルキーから「BlendShapeAnimationGenerator」を選択し、「Avator」の項目に手順3で配置したアバターをドラッグ＆ドロップしてください。
![スクリーンショット 2022-08-06 13.12.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2607452/17a73479-0290-13ec-dc51-6ba10c628cb0.png)
そして、生成ボタンを押します。
![スクリーンショット 2022-08-06 13.17.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2607452/e151357d-86e2-0ce1-4cc6-b07d5a3404ea.png)
#### 3-5. 確認
(2022/08/09 Alwaysについて追記)
プロジェクトウィンドウの「Assets」の中に、「**0アバター名_BlendShapeAnimations**」というフォルダができています。中を見てみると、たくさんのアニメーションができています。アニメーションは、「**アバター名_表情名_Always**」「**アバター名_表情名_Enter**」「**アバター名_表情名_Exit**」の3種類がたくさんあると思います。笑顔のアニメーションなら、Alwaysで笑顔→笑顔、Enterで無表情→笑顔、Exitで笑顔→無表情となります。
なぜ「Enter」「Exit」の2種類があるかですが、WriteDefault対策です。知らない人は、WriteDefaultは使ってはいけないとだけ覚えましょう。
ちなみに私のアニメーションの設計では、EnterとExitは使ってません笑
![スクリーンショット 2022-08-06 13.23.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2607452/77262c4f-9a9f-9f08-6be0-f8f508e00206.png)

## 4. あとは煮るなり焼くなり好きにしてください
VRChat民は表情変更をパイメニューやコントローラからいじると思います。その時のアニメーション生成に役立ててください。
VTuberの方も、もしかしたら使えるかも...？3D配信に関して、VRChatほど制約がないので、キーバインドやGUIでBlendShapeの値ごと変えていると思いますが、撮影など高品質映像向けにはアニメーションが必要かと思います。Tweenなどはフレームレートに依存するため、Recorderで撮影するとフレーム飛びするリスクがあるので...(元エンジニアより)

# まとめ
いかがだったでしょうか。今回は、BlendShapeAnimationGeneratorを紹介しました。VRoidなどで作成したVRMのブレンドシェイプを、そのままアニメーション化してくれます。

ダウンロードは以下からできます。
[【無料あり】ブレンドシェイプ → 表情アニメーション生成](https://mu5dvlp.booth.pm/items/4060278)

このようなツール紹介から、Unity自体の扱い方(初級〜上級)など幅広く紹介していきます。もし気に入っていただけましたら、有料版でのご支援、フォロー等お願いします！

## 関連する記事
ボタン1つで簡単にSpringBoneをPhysBoneに変換できます！
[SpringBoneをPhysBoneに変換](https://qiita.com/mu5dvlp/items/90b29574b4560727d97c)