バーチャル3Dクリエイター神部まゆみです(*^-^*)
VRoidモデルをVRChatに上げてMeta Quest2で動かしてみたから、それについての記事です。
検索すれば先輩たちがもっと詳しく書いてくれてるかな?
でも「この通りやったら動いた!」だと理解も深まらなそうだから、一から試行錯誤しつつやってみます。
詰まったらその都度調べてみる感じで。
ハンドジェスチャーで表情を変えるFacial Expressionsはこちらでやってみました。




使用したのはVRoid Studio v1.11.1、unity2019.4.31f1、VRChat SDK3.0です。
追記:2023/09/21現在で最新版の VRoid Studio v1.23.2 でも動きました。
VRoid Studio v1.20.2からVRM1.0エクスポートできるようになったけど、VRM1.0モデルも無事VRChatにアップできました(後述します)。
あとついでにワールドもアップしてみましたが↓、こちらはアバターと違って制限が緩いっぽいです。




結構簡単にアップできたのでワールドも作ってみると面白いかも。
- 事前準備
- VRChat SDK3.0でPC版のアバターをアップした手順
- 警告をどうするか?
- A material on this avatar has custom shader keywords. Please consider optimizing it using the Shader Keywords Utility.
- Lower arm is not first child of UpperArm or Hand is not first child of LowerArm: you may have problems with Forearm rotations.
- The angle between pelvis and thigh bones should be closed to 180 degrees(this avatar’s angle is 0.0) Your avatar may not work well with full-body IK and Tracking
- つづく
事前準備
事前準備について一応おさらいしておきます。
VRoid Studioでモデルをエクスポートしておく
最初にVRoid Studioでモデルを作成してVRMエクスポートしておく必要があります。
後述するけどここでVRM0.0か1.0か選べます。
一応どっちでもVRChatにアップして使えたけど、VRM1.0は2022年9月に出た新しい規格だから、不具合が出たらVRM0.0でやれば上手くいくかも。
可能ならポリゴン・マテリアル・ボーンを削減しておいたほうがいいかも?
VRChatのPC版はQuest版より制限が緩いけど、重いと読み込みに時間がかかるから、見た目が変にならない範囲で軽くしておいたほうが良いかも?
重くても見た目にこだわるならそのままでいいですが。
まぁアバターは複数アップできるので、何パターンか作って使い分ければ良いかもしれません。
全部マックス削減したら三分の一くらいになった。
このあたりが限界かな?
やりすぎると髪の毛や靴がおかしくなったので、ちょっと余裕を持たせておいたほうがいいかも。
でもボーンがこれ以上減らないので、Quest版でパフォーマンス上げたりFallbackアバターにしたいなら、blenderで手動でボーン削除して減らさないといけないかも。
ポリゴン数もこれ以上減らしたいならblenderでデシメートするしかないかな。
ボーンは髪の毛と服のボーンをblenderで削除したら59まで減らせました。




VRChatのランクを上げておく
これは以前記事で書きました。








unityをインストール
ここからunityhubがダウンロードできます。






2023/09/21現在、VRChatのunityバージョンはまだunity2019.4.31f1ですね。
もうしばらくバージョン上がってないみたいだけど、アバターやワールドを新しいバージョンに対応させるのは面倒だから頻繁にはやらないのかな(;^_^A

ここのアーカイブからダウンロードできます。






下の方にあるのでunity hubをクリックすると、unityhubに2019.4.31f1がインストールできます。
unityにuniVRMを入れておく
あとはuniVRMを入れるんだけど、バージョンに注意。
2023/09/21現在、VRChatはunity2019.4.31f1なんだよね…。

The current Unity version in use by VRChat is Unity 2019.4.31f1.
2023/09/21現在だと、unity2019.4.31f1に正式に対応しているのはv0.9台のuniVRMで、最新版はv0.99.4っぽいです。
v0.9台のバージョンはしばらくv0.99.4で止まってるので、多分これ以上は何か不具合がなければ出ないかな?

ちなみにv.0.100.0からは、もうunity2020.3以降のバージョンしかサポートしなくなったらしいですΣ(゚Д゚)
このバージョンから Unity の最低バージョンがUnity-2020.3
になりました。Unity-2021 も UPM の動作を確認しています。
v.0.112.0からはunity2021.3以降になったみたいで、どんどん新しいバージョンしかサポートしなくなってますね。
このバージョンから Unity の最低バージョンが 2021.3 になります。
まぁ今のところVRChatで使うだけなら、v0.99.4を入れておけばいいかな。

VRM0.0用とVRM1.0用のunitypackageがあるのでダウンロードしてunityにインポートする
↓画像赤線上のuniVRMなんとかってのがVRM0.0用で、下のVRMなんとかってのがVRM1.0用みたいです(ややこしいw)。
私の環境では両方入れても特に不具合は無かった。
VRM0.0か1.0かはVRoid Studioでエクスポートする時に選べます。
uniVRM v0.99.4ではVRM0.0もVRM1.0も両方アップロードできましたが、VRM1.0は2022年9月に出た新しい規格なので、何か不具合があったらVRM0.0でやれば上手くいくかも。
unitypackageをダウンロードしたらunityアセットフォルダにD&Dしてインポートしましょう。
最後にcolor spaceのリニアがなんとかって言う画面が出るけどAccept AllでOK。
これはレンダリングの設定でガンマとリニアがあって、uniVRMがリニアを推奨してるんだったかな確か。
ガンマにしても強制的にまた画面が出てきてリニアにさせられるけど、まぁ関係ないので無視でOK。
VRC Creator Companionをインストールして、SDK3.0 Avatarを入れる
以前は手動でSDK3.0をダウンロードしたけど、現在ではCreator Companion経由でSDKをダウンロードするようになったみたいです。
Creator Companionっていうのは、VRChatプロジェクトやSDKを管理できるツールみたいな感じ。
VRChatアカウントでログインしてダウンロードページに行く。

ダウンロードしたexeファイルを開いてインストールする。
インストールが終わるとcreator companionが開くので、右上のCreate New Projectをクリックして新しいプロジェクトを作る。
select templateでAvatar Projectをクリックして、プロジェクト名を入力してCreate Projectする。
作れたらこの画面になるので、矢印をクリックして最初の画面に戻る。
これでプロジェクトを開けばOK。
SDKはPackagesフォルダに入ってますが、ちゃんとSDKインストールされてました。
VRChat SDK3.0でPC版のアバターをアップした手順
Quest版のも上げようかと思ったけど、とりあえず今回はPC版だけね。
手順1:VRoidモデルをインポートしてシーンに配置する
VRoidモデルをインポートするとファイルがたくさんできるので、フォルダ作ってインポートしたほうがいいかも。
シーンに配置します。
一応トランスフォーム位置をXYZ0にしておく。
VRC用に目線を合わせる時にこっちのほうがやりやすかったため。
手順2:VRC Avatar Descriptorコンポーネントを追加して設定
コンポーネントを追加 → vrc と入れれば出ます。
とりあえず今回は目線の位置だけ合わせておきます。
あとここに目のボーンを指定するとアイコンタクト?の指定ができます。
手順3:エラーを潰す
とりあえず一個だけなのでAuto Fixを押せばOK。
A Material on~の警告はとりあえず無視で。
手順4:アップロードする
警告は出てるけどパフォーマンスGoodで行けるっぽいのでこれでアップしてみます。
一応カメラの位置だけ調整してアップ。無事成功しました。
手順5:VRChatで動作確認する
ちゃんと動いた!やったぜ( *´艸`)
PCVRでも動いた!
せっかくだから
Meta Quest2 + VirtualDesktop + SteamVRで、VRモードでもやってみました。
しっかり受肉できたでござるぞ( *´艸`)
警告をどうするか?
とりあえずエラーではないからアップできたけど、警告が気になるかな。
A material on this avatar has custom shader keywords. Please consider optimizing it using the Shader Keywords Utility.
調べたけどあんまりいじらないほうがいいっぽい?
とりあえず動くから無視でいいかな。
Lower arm is not first child of UpperArm or Hand is not first child of LowerArm: you may have problems with Forearm rotations.
これ調べたら無視してもいいらしいけど、多分UpperArmの子の一番上にLowerArmが来るように設定できればいいのかな?
そもそもUpperArmの子にLowerArm以外あるのかと見てみたら、どうやらVRoidの服にボーンがあるっぽい。
Topsって書いてあるから多分そう。
LowerLeg is not first chiled~も、スカートのボーンが原因みたいです。
blenderに読み込んで服のボーンを削除したら直った
服にボーンがあってもVRChatでは多分使わないと思ったので、blenderで読み込んでボーン削除したら警告消えました。
その後普通にアップしてVRChatで動いたから多分大丈夫だと思う。
インポート設定とかプレハブ設定とかで、LowerArmの順番を一番上にできれば削除しなくても大丈夫かもしれない。
でも削除しないと後でやるFallbackアバターの制限にひっかかるので、思い切って削除しました。
詳細はこちらの記事で。




The angle between pelvis and thigh bones should be closed to 180 degrees(this avatar’s angle is 0.0) Your avatar may not work well with full-body IK and Tracking
フルボディトラッキングする場合に必要になるっぽい。

blenderでボーンの位置を変える感じかな?
とりあえずMeta Quest2しか持ってないからいいか…。
こちらの優秀な先輩によると、Hips~UpperLegの角度の問題みたい。






Hipsの位置を動かして180度以上にすればいいのかな?ウェイトがおかしくならないか不安だけど…。
後でやって記事にしてみるかもしれない。
つづく
案外簡単にできて良かった!
今Quest用のやつもアップしようと思ってやってるけど、テクスチャ透過の問題でつまづいた(;^_^A
一応アップはできたけど、手動でテクスチャを合成してやらないといけないっぽい。
でもクオリティ落とせばFallbackアバターにもできるかも?
もうちょっといじってみます(*^-^*)
追記:続きを書きました




↓Fallbackアバターもアップしてみました。




ハンドジェスチャーで表情を変えるやつはこちらで。



