見出し画像

Quest・Android対応はそこまで簡単ではない話

誰だ!Quest対応はポチ!ポチポチ!ポチッ!!で完了とか教えたやつ!!引っ掻き回すぞ!
ということで、実はQuest対応って皆さんが思っているより難しいです。
たまたま簡単なアバターとかはあります。ですが、みんながみんなそうでは無いでしょうし、僕の知り合いにQuest対応しようとしてくれたけれどできなかった人がいたので今回はQuest対応について解説します。

では本編です。


何故Quest・Android用にアバターを作らなければならないのか

そもそもPCアバターをそのままQuest対応できないのはアバターが重すぎるからです

PCプラットフォームはVeryPoorの基準が高い為ある程度重くてもマシンに負荷がかかる可能性があるくらいでアップロードはできますが、Android(Quest)プラットフォームの場合はVeryPoorの基準が低いので、そもそもアップロードできなかったりします
そのため基準を上回らないようにQuest・Android対応する必要があります
そしてこの基準をクリアするための作業で必ず頭を悩ませるのがPhysBoneです。
QuestアバターのPhysBone制限はこんな感じ。

PhysBone Component:8
PhysBone Transform:64
PhysBone Collider:16
PhysBone Collision:64


中でもPhysBone Collisionの数がかなり制限されている上に調整の仕方が難しいです。
では、どうすればいいのか解説していきます。

方法

ここからはQuest ToolsでconvertしたアバターがHierarchieにある事を前提として解説します。まだ済んでいない方はconvertして、convert終了後にPhysBoneが多すぎるという内容のウィンドウとそれを閉じるとconvertしたアバターに含まれる
PhysBone Components
PhysBone Colliders
Avatar Dynamics Contacts
の一覧が表示されます
そのタブを出しておいてください。それを使います。

追記2023/08/05
Quest対応について1から説明した記事を書きました。必要に応じてこちらもご覧ください。
ラスクちゃんがQuest対応させるのに一工夫必要な話

①「Remove PhysBones」を表示させる

VRCQuestToolsからRemove PhysBonesのタブを表示させます
上記の
「convertしたアバターに含まれる
PhysBone Components
PhysBone Colliders
Avatar Dynamics Contacts
の一覧が表示されます。」
と同じやつです。

②PhysBoneを削減する

先ほど紹介した様に
PhysBone Component:8個まで
PhysBone Collider:16個まで

Avatar Dynamics Contacts:16個まで
に厳選、削減しましょう

残すべき優先順位は自身の残したいPhysBone順で良いと思いますが、僕は
髪(特にポニテ等)>ケモ耳>尻尾>服と決めて残しています

現状PCVRユーザーが多いですしQuest単体ではある程度仕方ない部分はあるので、PhysBoneを削るのはまぁまぁ心が痛みますが、人思いにカチッと。

③VRCSDKのBuilderを確認する

VRCSDKのBuilderとはいつもアバターアップロード時に使っているあのタブの、「Bild and Publish for Windows(Android)」するあの画面です。

ここで「Bild and Publish for Android」が押せる、これ以上調整する必要がないと言った場合にはアップロードしてここで終了となります。お疲れ様でした!

押せないという場合は「Switch Bild Target」の下にある英語の文章がズラーっと並んでいるところに注目して「PhysBone Collision Check Count」という項目を見つけてください
その項目の数字が64以上だとアップロードができません

PhysBone CollisionはRemove PhysBoneからは削減できないため、一番手っ取り早い方法としてはPhysBone Componentを更に削減することです
詰まるところ、揺れものがもっと少なくなってしまうということでもありますが…。
ですがそもそも姿が見えないよりはマシだと思います。人思いに…カチッと…。
こちらの”削減”優先順位は中々決めにくいと思います。僕はアクセサリー>服>内側の髪>後ろ側の髪(ポニテ等は除く)>前髪>ポニテ等の順位で削減しています
また、1個削減する毎にVRCSDKのPhysBone Collision Check Countの項目の右にある「Select」を押してアバターの状態を更新しましょう

ちなみに、この作業前にconvertしたアバターをコピーしておくとPhysBone Componentを更に削減した後に
「あれ?思ったよりPhysBone Collisionの数が減っちゃった?なら、あのPhysBone Componentは残せたかもしれない…」ってなった時にやり直しができます。

PhysBoneが原因でアップロードできないパターンは大体ここら辺が原因です。
QuestToolはアップロードができない原因を教えてくれる機能もついているので、まだアップロードができない方はSDKの画面と一緒にそちらも確認してみてください。

最後に

そして、もしかしたら作業の工程で自分の理想とはかけ離れてしまった方もいると思います。
ここで一つ、昔の話をします。
SDK2が全盛期の頃は揺れもの(Dynamic Bone)を追加するのに慥3000円くらいする有料Assetを購入する必要がありました。ですので当時、髪の毛ガッチガチの人なんて珍しくなかったです。僕もそうでした。
気休め程度の話ではありますが、揺れものなんてあまり気にする必要はないんじゃ無いかな〜と。

ご質問がありましたら気軽にお聞きください。
Twitterに頂ければ早めに返信すると思います。

では、また今度。

この記事が気に入ったらサポートをしてみませんか?