VRoid Studioで作ったアバターをclusterにアップロードする方法

[KuMA Advent Calendar 2021](https://adventar.org/calendars/7062) 14日目の記事です．

前回の記事『[【オリジナルアバターを作ろう！】VRoid Studio入門](https://qiita.com/T_4c3/items/4bfc9183cf9cbf52ccd7)』 の続きとなります．
まだVRoidデータが手元にない人は，[前回の記事](https://qiita.com/T_4c3/items/4bfc9183cf9cbf52ccd7)を参考に，まずはアバターを作ってみましょう．

「どうしてもアバターを作りたくない」「忙しくてやってられん！」という人は，[VRoid Hub](https://hub.vroid.com/)から利用可能なアバターを探すか，素体のままのアップロードでも大丈夫です．

それでは始めましょう！

#1. clusterのアバターアップロード機能について

[メタバースプラットフォーム cluster](https://cluster.mu/) では，VRM形式のアバターデータを1人100体まで自由にアップロードできます．一度アップロードしたアバターは，スマホ・デスクトップ（PC）・VRなど様々なデバイスから使うことができます．

好きなアバターをアップロードして遊べるサービスは他にもたくさんあります．例えば[VRChat](https://hello.vrchat.com/)です．しかし，VRChatにはトラストシステムがあります．これは，始めたばかりの人はアバターをアップロードすることができず，フレンドを増やしたり，いろいろなワールドで遊んだりすることでようやくアバターやワールドの作成が可能になるというものです（できることの自由度が高いため，荒らし対策だと思われる）．さらにアップロードにはUnityやVRChat SDKという独自のパッケージが必要で，初心者には少しツラいところがあります．

その点 cluster は優しくて，はじめから誰でもアバターやワールドのアップロード機能を使うことができます．
また，clusterのメリットとして，高性能なPCがなくても，スマホや [Oculus Quest2](https://www.oculus.com/quest-2/?locale=ja_JP) 単体で他の人と同じ空間にアクセスできるという点が挙げられます（VRChatの場合，スマホでは入れないし，Quest2は表示制限でほぼ別世界になってしまうし，PC Onlyのワールドも多いです）．

長々と書いてしまいましたが，要は「<b>clusterはいいぞ</b>」ということが言いたいだけです．

ここから実際にアバターをアップロードする方法の解説に入ります．

#2. VRoid StudioでVRMをエクスポートしよう
VRoid Studioで，[前回](https://qiita.com/T_4c3/items/4bfc9183cf9cbf52ccd7)つくったアバターのVRoidファイルを開いてください．
下のような画面が開いて，作ったモデルが表示されていればOKです．
![vroi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/01206547-9730-b47f-3ee9-1329fb5f5e7a.png)


画面右上のエクスポートボタン（カメラの隣のアップロードのアイコン）をクリックします．すると，「VRMエクスポート」「VRoid Hubへアップロード」などのメニューが出てくるので，「<b>VRMエクスポート</b>」を選びましょう．
![ex.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/3c1524f1-27bb-f189-90c6-e3a7c570b52b.png)

PCによっては準備に少し時間がかかることがあります．
下のような画面に切り替わるまで，気長に待ちましょう．
![export.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/4104f660-a03f-7462-9057-50ff1ddd5850.png)
「エクスポート情報」の欄に，「ポリゴン数」「マテリアル数」など，何やら難しそうな単語が並んでいます．
これらは，作成したアバターを構成する内部情報のようなものだとざっくり思ってもらえれば，今のところは特に問題ありません．

しかし，clusterには2021年12月14日現在，アバターのポリゴン数やマテリアル数に制限（
=上限）があります（今年の12月末までに，この[制限は撤廃される予定](https://clusterhelp.zendesk.com/hc/ja/articles/360029465811-%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%82%A2%E3%83%90%E3%82%BF%E3%83%BC%E3%81%AE%E5%88%B6%E9%99%90)だそうです）．

この制限は，ポリゴン数やマテリアル数などが多くなることでデータ容量も大きくなってしまい，快適な通信ができなくなる可能性があるため存在しています．
そのため，実際にエクスポートする前に，容量削減を行う必要がある場合があります．

具体的には，
<b>1）ポリゴン数は「32,000」以下
2）マテリアルの数は「8」以下
3）ボーンの数は「128」以下</b>
などの制限があります．

※その他の制限などについて詳しくは[cluster公式サイト](https://clusterhelp.zendesk.com/hc/ja/articles/360029465811-%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%82%A2%E3%83%90%E3%82%BF%E3%83%BC%E3%81%AE%E5%88%B6%E9%99%90)を参照ください．

いきなりそんなこと言われてもよくわかりませんね．でも大丈夫です．
まずはVRoid Studio上で，「<b>エクスポート情報</b>」の欄を見てみましょう．
![sakugen.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/8f4062a3-60ac-1360-af59-978988975d28.png)
ここで，先ほども書いたように
<b>1）ポリゴン数が「32,000」以下
2）マテリアルの数が「8」以下
3）ボーンの数が「128」以下</b>
になっていれば，基本的にはそのまま「エクスポート」でOKです．

しかし現実はそう甘くないことが多いです．ここで制限を超えている部分の要素の削減を行うことになります．おそらく，「マテリアル数」は，ほとんどの場合制限を超えてしまっていると思います．

私の例の場合は，ポリゴン数とボーン数はギリギリ制限以内ですが，「マテリアル数：14」となっており，マテリアル数が8を超えてしまっています．そのため，右側の「<b>マテリアル数の削減</b>」をクリックして削減を行います．マテリアル数を8以下にしたいので，「8」を選択しました．
![material.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/c5b9e3c2-f3a3-7025-6025-934c4172f07f.png)

選択すると，自動で削減処理がはじまるので，少し待ちます．
![syorityuu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/b08104eb-b5ec-3163-545a-e74ae2de8a78.png)
このあたりの操作は，作成したアバターによって異なります．ポリゴン数，マテリアル数，ボーン数のすべての制限をクリアできるまで，削減する必要があります．

マテリアル削減が終了したら，「<b>テクスチャアトラス解像度</b>」という項目が出てきます．clusterのテクスチャサイズの上限は「<b>2048*2048px</b>」ですので，こちらも変更しましょう（デフォルトだとおそらく「4096×4096」になっており，<b>このままだとアップロードできません</b>）．

すべての制限を満たせたら，「エクスポート」を押しましょう．お疲れさまでした！

#3. VRMの設定をしよう！
「エクスポート」を押したら何か出てきましたね．
![settei1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/8160a93a-b89e-d7c0-052f-ee09b7fb6a84.png)
![settei2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/aced923d-5b63-32da-7abf-a49233aac4e2.png)
VRMには，アバターの作者や連絡先，ライセンス情報などが結びついています．

作成したアバターはバーチャル世界での「身体」になるので，こういった情報が必要になるわけです（もしも，現実世界で自分の身体をいろいろな人に勝手に使われて好き放題されたら・・・嫌ですよね）．

「タイトル」と「作者」は入力必須項目です．あとは，好きなように決めましょう．
アバターの人格や再配布などの項目は，初めは基本的にはデフォルトのまま（=人格を与え得るのは作者のみ・再配布禁止）で大丈夫です．

できたら，今度こそ「エクスポート」しましょう．拡張子「<b>.vrm</b>」のファイルが保存されます．

#4. clusterにアバターをアップロードしよう
いよいよ最後のステップです．
まずは，[clusterのWebサイト](https://cluster.mu/) にログインしましょう（アプリからはアップロードができません）．アカウントがない人は，作りましょう．

右上の自分のアイコンをクリックして「アバター」の項目を押しましょう．
![Inkedicon_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/3b1f3859-0a62-8f72-2d72-00c63de97100.jpeg)

下のような画面に遷移すればOKです．
![Inkedavater_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/6bcb28a1-b8ff-0f5f-63f7-d80cb0d1af56.jpeg)
右のほうの青い「アバターをアップロード」ボタンを押して，先ほどエクスポートしたVRMファイルを選択しましょう．
![up.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/c065de44-0671-6560-7b3c-854b3c786880.png)
アバター名（ほかの人には表示されません）を適当に入力して，「アップロード」を押して少し待ちます．ちょっと時間がかかります．

<h1>無事アバター一覧画面に表示されれば成功です！</h1>
![Inkedupdone_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/f190cce9-a807-b821-a3cc-a50d872b27fc.jpeg)
あとは，トップページから興味のあるワールドを探して，自由に使ってみましょう！お疲れさまでした！！
![a.jfif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/ae8f4c62-f4fd-d68f-1fab-0a8b0326d96d.jpeg)
![i.jfif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459660/75a66f5e-c044-09fc-347c-5b67768d09d2.jpeg)




<b>アップロードに失敗する場合</b>：アバターの制限を満たしていません．アップロード失敗画面のメッセージを参考に，もう一度VRoid Hubに戻ってポリゴン数・マテリアル数・ボーン数・テクスチャ解像度を見直してみてください．


___
長くなりましたが，ここまで読んでいただきありがとうございました！
VRoid Studioを使うことで比較的簡単にオリジナルアバターを作れることが伝わればうれしいです．

みなさんもぜひ挑戦してみてください．

前回の記事：[【オリジナルアバターを作ろう！】VRoid Studio入門](https://qiita.com/T_4c3/items/4bfc9183cf9cbf52ccd7)