VRChatアバターの非破壊でのquest対応
この記事の目的
めちゃくちゃ便利なquest対応化ツール「VRCQuestTools」ですが、フレンドから上手くいかないという話を聞くので、少しでも役に立てばと思い、自分が実際にquest対応(android対応)している流れを画像多めでまとめました。
対応衣装を着せて、quest単機の人でも見えるようにするのが目的で、必要最低限の作業のみです。もちろんvery poorなのでshow avatarしてもらう必要があります。また、詳しい技術的なことはわかりません。
非破壊のメリット
quest対応用に別データをコピーする必要がないため、PC用アバターに変更を加えた際にquest対応用データに再度同じ変更を加える必要がありません。
つまり、いじるアバターは1個でいいってこと!!
2024年12月21日時点での内容となりますので、ご注意ください。
参考にした記事
0.前提条件
以下が可能な方向けの内容となります。
・VCCもしくはALCOM導入済みで、unityを使用しVRChatへアバターをアプロードができる
・Modular Avatarを使用し対応衣装に着せ替えができる
使用アバター:『シフォン』-Chiffon-【オリジナル3Dモデル】
使用衣装:「🩷本命ニット🩷【15アバター対応】 (🩷Lime&Chiffon🩷)
VCCに導入が必要なツール
導入方法は色々なところで解説してあるので割愛
・Modular Avatar(対応衣装着せ替えに使用)
https://modular-avatar.nadena.dev/ja
・lilToon(シフォン用のシェーダーとして使用)
・AAO: Avatar Optimizer(軽量化に使用)
・VRCQuestTools(quest対応に使用)
1.下準備編
対応衣装に着せ替え
対応衣装を着せます。いつも通りModular Avatar→Set Outfitで着せてください。
その際、非表示にしているオブジェクトのTagを「Editor Only」にしてください。チェックボックスを外して非表示にするだけでも、消えたようになりますが、アバターとしてアップロードする際にデータとして含まれるため容量が大きくなってしまいます。
Trace And Optimize
自動で最適化してくれるなんかすごいやつ。付け得です。
ルートオブジェクト(ここでは「Chiffon_kisekae])にInspectorのAdd componentから「AAO Trace And Optimize」をつけてください。
2.quest対応用の設定
Convert Avatar for Androidを追加
AAO Trace And Optimizeと同様にルートオブジェクト(ここでは「Chiffon_kisekae])にVQT Avatar Converter Settingsを追加してください。
そのVQT Avatar Converter Settings内に「アバターにNettwork ID Assigner~」とあるので追加を押すと、インスペクターにVQT Nettwork ID Assignerが追加されます。
アバター(PC版)をアップロード
VQT Nettwork ID Assignerを追加したので、一旦ここでアバターをPC版としてアップロードしてください。
これ重要!!
Avatar Dynamics設定
VQT Avatar Converter Settings内のAvatar Dynamics設定をクリックするとAvatar Dynamics Selecterのウインドウが立ち上がります。
初期状態では推定パフォーマンスランクのところが真っ赤で怒られてると思います。なので最大値に収まるようにチェックを外します。
PhysBones(ざっくり言うと揺れの設定)ですが、シフォンちゃんでは前髪(Hair_front_Root)、左右のツインテ(Hair_tail_L、Hair_tail_R)、尻尾(Tail)、ケモミミ(Ear_L,Ear_R)、胸(Breast_L、Breast_R)は揺らしたいのでその部分だけチェックを残しています。
PhysBone Colliders(当たり判定的な)は、これは正直どれを残すのが正解かわからないので雰囲気で最大値に収まるようにしてます。
チェック全部外したって、揺れなくて貫通するだけだから…
最後に「適応」を押すのを忘れないように!!
3.アップロード
テストビルド
(この項目は飛ばしてもOK)
Tool→VRCQuestTools→Show Avatar Builderをクリックします。
Show Avatar BuilderのBuild & Test on PCを押します。
VRChatのアバター→その他にテストビルドしたアバターがあります。
PC版VRChatでquestからの見た目を確認できます。
この時点ではほとんどのアバターでは頬染めが板みたいになっています。
quest対応のシェーダーでは透過表現ができないためらしい。
あとで修正します。
quest対応版アップロード
VRChat SDKのSelected Platform→Android変更します。
初回の変換は時間かかるので、気長に待ちます。
VRChat SDK側でアップロードしたいアバターを選択した状態で、VQT Avatar BuilderのBuild & Publish for Androidを押す。
※VRChat SDK側からアップロードしないように!
というか軽量化やquest用の設定が反映されないのでアップロードできないと思います。
4.おまけ 頬染め削除
無事quest対応できたと思いますが、やっぱり頬染めの表現がおかしくなるの気になりますよね?自分のアバターちゃんとみんなに見せつけたいですよね?
AAO Remove Mesh By BlendShape
チェックを付けたBlendShapeのメッシュをアバターアップロード時に削除します。
顔(Body)にAAO Remove Mesh By BlendShapeを追加し、頬染め等の透過画像を使うものにチェックを入れます。
Platform Component Remover
AAO Remove Mesh By BlendShapeをつけただけでは、PC版でもその部分が削除されてしまうため、quest対応版のみこのコンポーネントが有効化されるようにします。
顔(Body)にPlatform Component Removerを追加し、Body (Remove Mesh By BlendShape)のPC版のチェックを外します。これでPC版には適用されなくなりました。
再アップロード
問題ないかテストビルドしてもいいし、大丈夫だと思うならquest版再アップロードすればおしまい。
5.アップロードできない場合(あとで追記予定)
quest対応アバターは容量制限がかなりきびしいため、ギミックもりもりなアバターやテクスチャサイズが大きいアバターの場合は、上記の流れを行ってもエラーができる場合があります。
ギミックを「Platform Component Remover」で削除する
PC版の設定を変えずに済む
テクスチャを4K、2Kのテクスチャを1024×1024にリサイズする
あきらめない心とたまにあきらめる勇気