アバター導入方法 Step.ExtraB : Quest対応アバターアップロード

この章では「Quest対応」のアバターアップロード手順について解説いたします。

なお、現在は「Avatar 3.0」が主流となっているため「VRCSDK3」を使用したアップロード方法にて解説いたします。

なお、基本的なルーティンはこれまでの「VRCSDK2」と殆ど変わりません。

Quest対応するための基礎知識

VRChatが推奨している「Quest対応のためのガイドライン」のドキュメントが公開されていますので、もし本稿で行き詰ったり不明な点がありましたら公式ドキュメントを参照してください。

【Questでアバターを見れるようにするだけなら簡単】

これより先では「Quest対応アバター」としてのアップロード方法や制限内容について触れますが、「Quest/Quest2ユーザーに見えるようにするだけ」であれば下記の3点さえ抑えておけば問題ありません。

  1. プラットフォームが「Android」でビルドされていること
  2. シェーダーが「VRChat/Mobile」以下のいずれかであること
  3. (DynamicBoneなどが残っている場合は)Dynamic Boneが無い事

Quest対応アバターとしてアップロードしたい場合は上記の3つが必須であり、ポリゴン数やマテリアルの制限については後述します。

具体的にはどうするの?

  1. Switch Platformで「Android Build」にする
  2. シェーダーを「Toon Lit」や「Standard Lite」などにする
    (Toon Litがおすすめでとても良く使われています)
  3. Dynamic Boneなどが残っている場合はMissing Removerなどで削除する
  4. アップロード画面でエラーなどが無ければOK

これだけでVeryPoorなアバターにはなりますがPC対応のみのアバターでもQuestで見ることが出来ます。
ただ、頬染めなど透過が使われている部分は塗りつぶされてしまう他、ArktoonやUTS2などで使用されるRimやOutlineなど特殊な処理は一切できないためPCと同じ見た目にすることは困難です。


アバターの制限について(Poor以下)

項目名制限内容(Medium)制限内容(Poor)
シェーダー「VRChat/Mobile」以下のみ同左
ポリゴン数15,000ポリゴン以下20,000ポリゴン以下
PhysBones コンポーネント6以下8以下
PhysBones コライダー8以下16以下
容量10MB未満同左
マテリアル2以下4以下
スキンメッシュ2以下2以下
パーティクル不可可(2以下)
トレイル不可可(1以下)

ざっくりですが、Quest対応の基礎は上記のようになっています。

そのうち、重要になってくるのは「上4つ」になります。
とりあえずの内は上記の内容で覚えておいて損はないでしょう。

なお、1つでも制限を超えていた場合はアバターランクがそのランクになってしまうため注意が必要です。
※ポリゴン数が15,000以下でもマテリアルが3つであればPoor判定となります。

アバターを用意する

今回は、Quest対応で無料ダウンロードできる「U10H7500」をサンプルとして解説していきます。

U10H7500

価格¥ 0
ポリゴン数△ 7,500
シェーダーToonLit

Unityの下準備

Unityの下準備については「Step.4c : VCC版」のページを参照してください。

このページではアバターのインポートから先の説明を行います。

先述の「U10H7500」をダウンロードし、解凍しておきます。

その後、先ほどと同じように「Assets>Import Package>Custom Package」から「U10H7500_ver.X.X.X.unitypackage」をインポートします。

同じくインポートが終わるまで待ちましょう。

インポートが終わり、アバターの各種フォルダが追加されていればOKです。

アバターの配置・設定

「Assets」の「U10H7500_ver.X.X.X」配下にある「Unityアイコン(.unityファイル)」を「Hierarchy」にドラッグアンドドロップします。

そうすると、アップロードに必要な設定が一通り適用されたアバターがずらっと表示されます。

このままでも改変やアップロードできますが、今回は見やすくするため1体だけを選択し、デフォルトで存在している「SampleScene」に複製します。

今回は「U10H7500_ver.1.0.1.parker」のアバターをアップロードするので、「U10H7500_ver.1.0.1」内の「U10H7500_ver.1.0.1.parker」をコピーし、「SampleScene」ペーストしましょう。

※ドラッグアンドドロップした場合は、既存Scene(今回の場合は「U10H7500_ver.1.0.1」)から移動されてしまい元のSceneから無くなってしまうので、デフォルトが確認できるようにコピーペーストをオススメします。

このようになっていればOKです。

これで1つのアバターがSampleSceneに複製されたので、下の「U10H7500_ver.1.0.1」は閉じましょう。

「▼≡」のマークをクリックし「Remove Scene」を選択します。

これでHierarchyとSceneに1体だけアバターが表示されシンプルになりました。

この状態でアップロードを進めていきます。

最初にPC版でアップロードする

勘違いされる方も多いのですが、「Quest版でアップロードしただけではPCとQuestのどちらでも表示できません」し、「Questの制限以下にしたアバターをPC版のみでアップロードしてもQuestでは表示できません」

PCとQuestの両方で表示させるには、PCビルド版とQuestビルド版の両方をアップロードする必要があります。

そのため、まずPC版でアップロードしていきます。

「VRChat SDK>Show Control Panel」を選択し、VRCSDKのコントロールパネルを表示させます。

VRChatのユーザ名とパスワードを入力し、「Sign In」を押します。

ログインでき「Avatar Creator Status: Allowed to publish avatas」になっていればアバターがアップロードできます。
トラストレベルが不足していた場合はアップロードできないのでご注意ください。

「Builder」タブを表示させ「Build & Publish for Windows」をクリックします。

これでWindows(PC)ビルド版のアップロードを行うことになります。

「Game」画面に「New Avatar」という画面が表示されていればとりあえずアップロードすることが可能です。

【Avatar Name】ここに入力したアバター名がVRChat内で表示されます。【Sharing】自分専用かコピー可能なパブリックアバターにするかを選択します。ほとんどの場合、自分専用の「Private」のチェックのまま進めましょう。

アップロードボタンの上はチェックしないとアップロードできませんのでチェックします。

入力が終わりましたら、「Upload」ボタンを押してアップロードを開始します。

アップロードが完了したら、上図のような「Update Complete!」と表示されますので「Okay」で閉じましょう。

そして、再び「VRChat SDK>Show Control Panel」からVRCSDKのコントロールパネルを呼び出してください。

「Builder」タブに移動すると、アップロード前には無かった項目が追加されています。

ここではアップロードされたアバターの情報が表示されており、下から二段目に「Android Support: NO」になっていると思います。

この「Android Support」が「Questビルド版」になり、ここが「YES」になっていればQuest対応となります。

Questビルド版(Android版)でアップロードする

コントロールパネル中央にある「Switch Build Target to Android」をクリックすることで今開いているUnityのプロジェクトを、Androidビルドに切り替えます。

Androidビルドに切り替えますか?と聞かれますので「Confirm」を押します。

ビルドの切り替え(Switch Platform)には時間を要しますので気長に待ちます。

ビルドが終わると、先ほどまで開いていたVRCSDKのコントロールパネルの表記が変わっていると思います。
これらはAndroidビルド向けに切り替わっています。

「Active Build Target」が「Android」になっていれば成功です。

最下部にある「Build & Publish for Android」を押下してアップロードを始めます。

今回は新規アップロードではないので「Update Avatar」になっています。

「あれ?Android(Quest)版はアップロードしてないよ?」となると思いますが、内部的には「Blueprint ID」という識別記号番号で管理されているため、このIDが存在しない場合が新規、存在する場合はアップデート扱いになります。
そのため、同じBlueprintIDであればPC/Android(Quest)のビルドに関係なく同一のアバターとして認識されます。

今回もUploadボタンの上にあるチェックボックスにチェックを入れ「Upload」ボタンを押しましょう。

アップロードが終われば、同じように「Update Complete!」画面が表示されますので「Okay」で閉じます。

これで完了になります。

「Android Support」が「YES」になっていればOKです。

※Androidビルド版でアップロードした際に、情報が更新されずQuest版でアップロードできているにもかかわらず「NO」になっている場合があります。
その際は一度Unityのプロジェクトを閉じるか、VRChat上でクロスプラットフォーム表示になっているか確認してみてください。

VRChat上で確認する

アップロードが完了しても、実際にVRChat上で正しく動作するかを確認してあげてください。
改変などを行うと、バグやミスでアバターの一部が正しくない状態でアップロードされていることが想定できます。
なので、集会やフレンドと会う前に、一度アバターの動作チェックを行うことをお勧めします。

アバターの右上に「青と緑」のアイコンが表示されていれば、PC/Quest両対応のアバターです。

お疲れ様でした!

蛇足:どうしてMedium以下にするの?

Twitterなどで「VeryPoorでもいいからQuest対応して」というつぶやきを散見します。
当記事では最初「Medium以下でのQuest対応アバター」に重きを置いておりましたがそれだけでは不十分と思い前述の「VeryPoorでもQuestで見れるようにする」方法について追記しました。

ではなぜ「Medium以下を推奨する」のか?という疑問が出る方も居るかもしれません。

答えは単純で、「Questで最初から見れるアバターがMedium以下だから」です。

「Poor」までであれば、表示設定を「Medium」から「Poor」に変更することで「Poorなアバター」までデフォルトで表示されるようになります。
Quest対応アバターの中でもMedium対応やPoor対応などの記載があるものもあります。
この辺りは個人差もありますが、私としては

  • 身内としか集まらないのであれば「VeryPoor」
  • 集会などに顔を出す程度であれば「Poor以下」
  • 初心者案内や初心者の方と会う機会があれば「Medium以下」

のような閾値でアップロードするアバターの対応基準を決めても良いと思います。

それに、必ずしも1つのアバターにこだわる必要はなく、適材適所としてアバターを使い分けることもできます。

私も、自身が主催する初心者向けQuest対応交流イベントではExcellent判定である「Digi-Devil 2.0 & Sister」を使用し、
Questのフレンドを交えて遊ぶ際はPoor判定の「Mike(ミケ)」ちゃんを使用し、
PCユーザーしか居ない場合はPCオンリーの「フラジール」ちゃんを使用しています。

Quest対応は難しい点も多いですが、その分交流の幅が広がると思います。
あなたのアバターも、Quest対応してみませんか?