VRChat SDK3.0で自作Quest版Fallbackアバターなどをアップしてみた備忘録

vrchat fallback 3Dモデリング
※記事内に広告が含まれています。

バーチャル3Dクリエイター神部まゆみです(*^-^*)

この記事は、VRChat SDK3.0で自作Quest版Fallbackアバターなどをアップしてみた備忘録です。

VRoidモデルをアップしたりはしたけど、Fallbackアバターはまだ作ったことがなかったのでやってみます。

忘れないように色々書いたら長くなってしまったので読みにくいかもしれません(・_・;)

●PRスペース●

〇まゆみマート|BOOTH

BOOTHでVRoidテクスチャやVRChat向けオブジェクトなどを販売しています。いいねしてくれると励みになります(*^-^*)

  1. やりたいこと : 以前作った自作アバターをFallbackアバターとしてアップする
    1. Fallbackアバターとは
  2. 事前準備
    1. ランクをNew User以上に上げる
    2. VRChat Creator Companionをダウンロードしておく
    3. unity 2022.3.22をインストールしておく
  3. アップした手順 PC版
    1. unity 2022.3.22で新規プロジェクトを作る
    2. 自作モデルをインポートしてリグをhumanoidにする
      1. シーンに配置して、トランスフォーム位置をXYZすべて0にする
    3. シェーダーを設定する
    4. コンポーネントを追加 → Avatar Descriptorを追加する
      1. View Positionの位置を調整する
    5. 上のメニューにあるVRC SDK→Show Control Panelを選んでログインする
    6. エラーを直す
      1. リグを直す
      2. 小さすぎるみたいなので大きくする
    7. this avatar contains meshes that were imported with read/write disable. this must be fixed in the mesh import settings before uploading. エラーが出た
    8. This avatar contains skinned meshes that were imported with Blendshape Normals set to ‘Calculate’ but aren’t using ‘Legacy Blendshape Normals’. This will significantly increase the size of the uploaded avatar. This must be fixed in the mesh import settings before uploading. エラーが出た
    9. Build&Testをして、何もなければPublishすればOK
      1. アバター情報を入力する
    10. VRChatで動作確認する
  4. アップした手順 Quest版
    1. androidにスイッチプラットフォームする
    2. シェーダーをVRChat/Mobileのやつにする
    3. Publishする
    4. Quest版のVRChatで動作確認する
    5. 注意点:Quest版はマテリアル数とメッシュ数制限がきつい
      1. パフォーマンスExcellentかGoodになっていればFallbackアバターとして使える
    6. ちゃんとQuestで見れるかも確認してみる
  5. おわりに

やりたいこと : 以前作った自作アバターをFallbackアバターとしてアップする

結構前に作ったやつ(;^_^A

一からblenderでリグを組んで作ってみた。

一度VRChatにアップはしてたけど、Quest版はアップしたことなかったから今回やります。

Fallbackアバターとは

容量制限のきついQuest版とかで、処理が重いアバターを軽いアバターに変える感じ?

Avatar Fallback System
The Avatar Fallback system is a way for a user to select an avatar that displays in place of the "gray robot" placeholde...

アバター フォールバック システムは、アバターが互換性のないシステムに表示されている場合、またはアバターが許容される最小アバター パフォーマンス ランクを超えている場合に表示される “灰色のロボット” プレースホルダーの代わりに表示されるアバターをユーザーが選択する方法です。

フォールバックアバターは何をしますか?
フォールバックアバター(または単に「フォールバック」)は、VRChatが利用可能なすべてのプラットフォーム用に構築されたシンプルでパフォーマンスの高いアバターです。これらは、ユーザーが着用しているアバターを表示できない (または表示しないことを選択した) 場合に使用されます。

モバイル向けでGoodかExcellentにしないといけないので、結構条件が厳しいです。

↓ポリゴン数10000以下、ボーン数90以下、スキンメッシュレンダラーとマテリアルスロットを1にしないといけない。

Performance Ranks | VRChat Creation
The Avatar Performance Ranking System allows you to see how much a user's avatar is affecting performance via analysis o...
VRChat avatar fallback

まぁ今回アップするのは立方体とUV球を組み合わせただけの慎ましやかなアバターのため、余裕でExcellentなので大丈夫ですw

とりあえずそういうテキトーなアバターから作っていって、いつも使っているアバターのポリゴンを減らしたりテクスチャベイクして、徐々に作っていくと良いかもしれません。

事前準備

アップする前の事前準備を書いておきます。

ランクをNew User以上に上げる

これは以前記事に書きました。

お金払ってVRChat Plusに登録するのが一番早いかな(;^_^A

TwitterとかでVRChat用のアカウント作ると、先輩たちが絡んでくれてフレンドが増えやすいと思う。

VRChat Creator Companionをダウンロードしておく

手動でSDKを入れることもできるけど、Creator Companionを使った方がSDKのバージョン管理などがしやすいのでこちらを使った方が良いです。

VRChatアカウントでログインして、↓のページに行けばダウンロードできます。

https://vrchat.com/home/download

詳しくはこちらのページで解説しているのでそちらを参照。

unity 2022.3.22をインストールしておく

2024/08/31現在のVRChat対応unityバージョンは、2022.3.22です。

https://docs.vrchat.com/docs/current-unity-version

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

Download Archive
Download Archive

Quest版をアップする場合はandroidビルドが必要になるので、インストールの際にwindowsとandroidビルドのやつを選んでおいたほうがいいです。

↓後からadd moduleで追加もできるけど、とりあえず

  • Windows Buid Support
  • Android Build Support

の二つは入れておきましょう。

あとは日本語化のやつと、C#いじるならVisual Studioも。

アップした手順 PC版

先にPC版をアップしていきます。

unity 2022.3.22で新規プロジェクトを作る

既に作ってあるなら飛ばして構いません。

unity Editorで作ってもいいけど、VRChatのプロジェクトなのでCreatorCompanionで作ったほうがSDKの管理がしやすいです。

SDKのアップデートがあれば一応しておいて、作ったプロジェクトを開きます。

自作モデルをインポートしてリグをhumanoidにする

blendファイルでも行けるけど、一応fbxエクスポートしたやつをアセットフォルダにD&Dする。

unity 自作モデル インポート

unity humanoid

シーンに配置して、トランスフォーム位置をXYZすべて0にする

インポートしたモデルをD&Dでシーンに配置する。

トランスフォームの位置をXYZ全部0にしておく。

この後目線の設定をするんだけど、トランスフォームの位置がテキトーだととんでもない位置に目線が来てしまった(笑)。

それでもアップはできたけど、上空から自分のモデルを見下ろしているような視線になってしまっていたw

位置合わせれば大丈夫なのかもしれないけど、デフォルト位置のXYZ0に合わせておいた方が無難かな。

シェーダーを設定する

Quest版でアップするにはVRChat Mobileのシェーダーから選ばないといけないけど、PC版はシェーダーはなんでもいい感じ。

特に設定し直さなくても一応動くけど、一応マテリアルを作ってstandardシェーダーで色を付けておく。

unity standardシェーダー

コンポーネントを追加 → Avatar Descriptorを追加する

とりあえずこれを追加すればアバターとして認識される感じだったと思う。

vrc avatardescriptor

View Positionの位置を調整する

Viewの項目にあるView PositionのEditボタンを押すと、ギズモが出るのでView positionの位置調整ができるようになる。

これがカメラの位置になるっぽい。

なんか豆粒みたいなやつを目のあたりに持ってくる。

vrc view point

View Positionのデフォルト位置は、ワールド座標でXYZの0近辺みたい。

最初モデルをテキトーな位置に配置したら、View Positionがどこにあるのかわからなくなったので、上にも書いたけどXYZは全部0にしておいたほうが良いかも。

他にもリップシンクの設定とか色々あるけど、このモデルでリップシンクは無理かな(;^_^A

とりあえずこれでアップはできるので、これだけでOKです。

上のメニューにあるVRC SDK→Show Control Panelを選んでログインする

これでログイン画面が出るのでIDとパスワードを入れてログインする。

エラーを直す

モデルを選択して、エラーが出ていれば直す。

vrc avatar error

リグがおかしいエラーと、アバターが小さいという警告が出てました(;^_^A

リグを直す

Spine Hierarchy missing elements, please map: Shoulders,Chest.

ってエラーが出ていた。

これはインポート設定でhumanoidリグにした時にダメだったんだと思う。

直します。

インポートしたモデルのプレハブを開いて、リグ→設定 で。

見たらSpineのところにChestが来ている(;^_^A

あとShoulderとかを設定し直します。

vrc humanoid rig err

これでエラーが消えた!

小さすぎるみたいなので大きくする

This avatar is shorter than average っていう警告を直します。

これエラーじゃなくて警告だから直さなくてもアップはできたけど、あんまり小さいと見えづらいから直します。

単純に2倍にすれば行けるやろ!の精神で、トランスフォームの拡大縮小XYZを2にしてみる。

vrc shorter than average

あ、こんなのでいいのか…。警告消えましたね。

この後アップしてみたけど、Vketちゃんよりだいぶ大きかったので、1.5くらいがいいかな?

this avatar contains meshes that were imported with read/write disable. this must be fixed in the mesh import settings before uploading. エラーが出た

これインポート設定のエラーみたい?Auto Fixでも直せるけど。

直し方はこちらに書きました。

This avatar contains skinned meshes that were imported with Blendshape Normals set to ‘Calculate’ but aren’t using ‘Legacy Blendshape Normals’. This will significantly increase the size of the uploaded avatar. This must be fixed in the mesh import settings before uploading. エラーが出た

これもAutoFixで直してもいいけど、一応直し方を詳しく調べてみた。

こちらに記事を書きました。

Build&Testをして、何もなければPublishすればOK

特にエラーも出なかったので、普通にPublishすれば大丈夫だった。

パフォーマンスは余裕のExcellentですね。

vrc avatar publish

簡単なモデルだからもっとポリゴン減らして軽くできるとは思うけど、まぁExcellentだし良いか。

アバター情報を入力する

ここでアバターの説明や画像を変えられます。

VRChat avatar fallback

VRChatで動作確認する

steamからVRChatを起動して、PC版で動作確認します。

おお!無事にアップされていますね( *´艸`)

いた!いた!うちの子だ!(笑)

そこには元気に走り回るtest君の姿が!( *´艸`)

PC版はQuest版に比べてメッシュ数とかの制限が緩いので、割とアップしやすいですね。

とりあえずhumanoidにすれば動くっぽいし、気楽に作ってアップしてみると良いかも。

アップした手順 Quest版

次はQuest版のアバターをアップしてみます。

androidにスイッチプラットフォームする

これはあらかじめunity Editorで、android build supportを入れておかないとダメ。

なければadd moduleで追加できます。

入れてあればandroidにスイッチできます。

vrc avatar switchplatform

シェーダーをVRChat/Mobileのやつにする

スイッチプラットフォームするとエラーが出ていて、VRChat/Mobileのシェーダーしか使えないよ!と怒られる。

vrcmobile shader

StandardLiteあたりが良いのかな?というか他にそれっぽいのがない。

vrcmobileshader standardlite

これでエラーが消えた!

Publishする

特にエラーも出なかったので、これでいいっぽいです。

ローポリなら案外簡単かも(;^_^A

vrcquest upload

Quest版のVRChatで動作確認する

PC版で見ても両方対応になってる!

これでクロスプラットフォーム対応ってやつ?になったのかな。

vrcavatar crossplatform

Quest版のVRChatで動作確認してみます。

お!ちゃんと動いた!( *´艸`)

vrchat quest avatar

注意点:Quest版はマテリアル数とメッシュ数制限がきつい

マテリアル数が最大4までで、推奨が1!らしいです。

スキンメッシュレンダラーは最大2、推奨1らしいです。

重いと他のQuestユーザーに表示制限がかかって、デフォルトのフォールバックアバターになってしまうみたいです。

Performance Ranks | VRChat Creation
The Avatar Performance Ranking System allows you to see how much a user's avatar is affecting performance via analysis o...
VRChat avatar fallback

ポリゴン数1万以下にして、パフォーマンスGoodあたりまでにはしておきたいかな。

今回のモデルは軽いので余裕でExcellentですが(;^_^A

メッシュはできるだけ結合するしかないかな。

テクスチャをベイクすれば複数のマテリアルを一つにできるみたいなので、工夫してやるしかないかも。

↓こちらの優秀な先輩のページの通りにやればテクスチャを一つにベイクして、マテリアル数1にできます。

とても参考になりました(*^-^*)

【Blender】複数に分けたテクスチャを1枚に統合(ベイク)する方法 | けものこばち
VRChat用のアバターを用意するに当たって、テクスチャをベイクする必要があったので、その方法をまとめてみました。モデルのマテリアルごとに、それぞれテクスチャ画像を設定しているものを、1枚のテクスチャ画像に統合して、すべてのマテリアルで、統...

今回のモデルはテクスチャ使っていないマテリアル数1のやつなので大丈夫ですが、凝ったアバターの場合は↑の通りにやってテクスチャをベイクする必要が出てくるでしょう。

パフォーマンスExcellentかGoodになっていればFallbackアバターとして使える

メッシュやマテリアル数、ポリゴン数が多すぎてパフォーマンスが悪いと、軽いFallbackアバターが表示されてしまうらしい。

けどパフォーマンスがExcellentかGoodになっていれば、自作のFallbackアバターとして使えるみたい。

Avatar Fallback System
The Avatar Fallback system is a way for a user to select an avatar that displays in place of the "gray robot" placeholde...

Questアバターアップロードの際に、条件を満たしてここにチェックを入れればOK。

その後アバター選択画面で、fallbackアバターを自分のアップしたアバターにできるようになっていた。

vrchat fallback

私はQuest版でやることが多いけど、デフォルトアバターばかり見るなぁと思ったらFallbackで表示されていたのか。

Quest版でプレイしていると、出会う人たちの7~8割くらいはデフォルトのFallbackアバターな気がする(・_・;)

上手く容量削減してFallbackアバターも用意しておくと良いかも。

ちゃんとQuestで見れるかも確認してみる

以前サブアカウント作ったので、ちゃんとQuest版で見れるか確認してみます。

アカウントが二つあると動作確認に使えて便利かもしれない。

記事作成時点でちょうどMusic Vketがやってたからここで待ち合わせる(笑)。

お、いたいた!おーい!

vrchat fallback

ちゃんとQuest版でも表示されてますね。

これにはVketちゃんもニッコリw

vrchat fallback

Vketちゃんはかわいいから結構気に入っている(笑)。

↓ここからなんと無料でダウンロードできます!ビックリΣ(゚Д゚)

https://www.store.vket.com/ec/items/3755/detail

おわりに

無事にアップできたので良かった。

条件満たしておけばFallbackアバターとして使えるから、軽いモデルも作っておくと良いのかもしれない。

PC版でもできるだけ軽いに越したことはないかな(;^_^A

アバター自作できるとVRChatの楽しみがだいぶ広がると思うので、もっといじっていこうと思います(*^-^*)

タイトルとURLをコピーしました