VRMアバターをVRChatにアップロードしてQuest対応させた記録を公開します
皆さんこんにちは。VRC note編集長の八重樫です。
昨年の夏に、バーチャルマーケットに行くため、自社のスキャナで作成した3DアバターをVRchatにアップロードする記録を公開しました。
あれから半年余りたち、今世間では”メタバース”がトレンドワードになっています。
私も新しいアバターを作って、メタバースを体験したいと思い、今回VRMデータをVRChatにアップロードし、さらにMeta Quest対応のアバターにセットアップもし直したのですが、それがとてもとても大変な道のりで……。
私のようにVRMアバターをアップしたい人のために、悪戦苦闘した記録を公開したいと思います。
■VRMアバターの準備
まずはアバターデータを用意します。BOOTHなどで販売されているものを使えば簡単なんだと思うのですが、今回私は半自作がよかったので、スズキセシルさんの【無限っぽくアバター自動生成できる MUGEN Avatar Dress Girls version】略して「ぽくでき」を購入してアバター制作を行いました。VRoid Studioとかで作るのも簡単らしいですね。
ぽくできは、たくさんあるアバターの素材をランダムで選んで少女アバターを生成してくれるアプリです。できたアバターを動かすこともできるし、微妙なサイズ調整やドレスの変更などもできます。(パーツをいろいろ選ぶのはできないので、アバターとは一期一会の出会いです)
私は何度か試して、自分に近い感じのアバターを選びました。
あとは気に入ったアバターを保存してVRM形式で保存します。
■VRChatにアップロード(unity との格闘)
昨年もやったのですが、だいぶ手間取ったVRChatへのアップロード。
以下のサイトなどを参考に思い出しつつ試行錯誤しました。
まずはunityのバージョンを確認して、現在VRChatで推奨しているバージョンを改めてダウンロードします。
https://docs.vrchat.com/docs/current-unity-version#current-unity-version
次にダウンロードしたunityに入れるためのVRChat SDKを手に入れます。これはPCでVRChatにログインするとDownloadというページがあるので、そこから入手します。私はSDK3を使いました。
https://vrchat.com/home/login
さらに、VRMを読み込むためにも追加データが必要なので、そちらも用意します。
VRM Converter for VRChatはVRChatに適したオブジェクトへの変換のためのソフトです。
https://pokemori.booth.pm/items/1025226
こういうものを無償で提供している制作者の方々に本当に感謝します✨
unityのAssetに入れ込んでインポートします。
Asset>import Package>Custom Packageで選ぶやり方もあります。
今までダウンロードしたパッケージをインストールしたら、AssetにVRMファイルを入れます。
そのあと、アバターが書いてある画像(プレハブ)を選択し、VRM0のタブからDuplicate and Convert for VRChatを選んで、複製して変換します。
するとコピーファイルが出来上がります。私のアバターはビューポイントもおかしかったので、修正しておきました。
あとは、VRChat SDKのタブからshow control panelを選び、VRChatのアカウントでログインします。
するとBuildのところからアップロードできるはずです。
■Quest対応しようと思ったら…
PC版は難なくアップロードできたのですが、Quest対応しようとしたらシェーダーがおかしいとか、マテリアルが多い、ポリゴン数が多いとエラーが。
シェーダーをQuest対応のためのもの(VRChat>mobile>Toon lit)にしたところ、透過していた部分に色が付き、とんでもないことに……!
調べていくと、Quest対応では透過は使えないということがわかって、さらにポリゴン数を減らしたりするにはBlenderを使わなければならないと知り、泣きたくなりました。
Blender3.0をダウンロードして、ワニでもできるBlender講座をみながら、カボチャアバターを作り、操作の基本を覚えました。頑張れば1日でもできるとのことでしたが、私は夜に2~3時間×3日でやりました。
■いよいよ少女アバターを修正していきます
いろいろ調べて、まずポリゴン数を減らすにはデシメートというものをすればいいということがわかりました。参考にしたのはこちら。
髪や身体の部分が細かく頂点が多かったので、デシメートで3割~5割くらいに減らしました。
続いて、服についてはまずぽくできでドレスを長袖に変えて透過になる部分を減らし、透過部分をBlenderの【K:ナイフツール】というもので頂点を切って服に沿って新しく頂点を作り、いらない頂点を削除していくというのをやってみました。これがめちゃくちゃ大変……。なんども必要な部分も削除してしまってやり直しました。
瞳にも透過部分があったので、そこは削除しました。
あと、揺れ物ボーンもQuestではNGとのことで、髪や服についていたボーンは削除しました。
それから、マテリアルは1つにということだったので、アトラス化というのを行いました。BlenderにCatツールというものをインストールすると簡単にできちゃいます。
あとはVRM形式でエクスポートして、unityのAssetに放り込んでみて、先ほどと同じようにVRM0のタブからDuplicate and Convert for VRChatを選んで、複製して変換するだけ。
あとは、VRChatのコントロールパネルで、Build形式をAndroidに変えてアップロードします。
その前に! 先ほど、PC版でアップロードしているので、同じIDをアバターにつけてあげないとNew Avatarとして処理されてしまいます。
VRChat SDKのコントロールパネルのContent Managerから先ほどアップロードしたアバターを選んで、ID Copyをし、Pipline ManagerのBlueprint IDに張り付けて、Attachをクリックすると、同じIDと認識されて、上書きとしてアバターをアップロードできるようになります。
その他、Quest対応で参考にしたサイトはこちら↓
■最後に
いやー、ほんと大変でした。なぜVRChatのアバターアップロードはこんなにも大変なのか……変なものをアップロードさせないためなんでしょうけど、もう少しユーザーに優しくてもいいのではないかと思いました(^_^;)
ちなみに、clusterでもVRM形式でアップロードできるのですが、PCからログインして、アバターのタブからVRMファイルをアップロードするだけでできちゃいました。アバターの制限もなくなったのでいいですよね。
同じアバターであちこちのプラットフォームを行き来できるのはいいなと思いました。いちいちアバターを用意するのは大変だし、デフォルトのを使うのは味気ないというときに、VRMデータを自分で作る(買うなどして用意する)というのはいいものだと思います。
Blenderにも触って、簡単にオブジェクトが作れるとわかったのも、今回やってみてよかったなと思います。少し、エンジニアさんに近づけたかも?
今度はこのアバターをつかって、いろいろ体験をしてみたいと思います!
体験の模様はまたnoteでご報告しますね!
★VRCでは一緒に新しい未来を創ってくれるメンバーを募集中です!
詳しくはこちらのサイトをご覧ください★