VRChat Quest対応 レベル別 虎の巻 (初心者〜限界突破改変まで解説)
2025/01/27時点
Quest対応の記事は散在しており、間違った情報や情報不足の中、有益情報は口伝での伝達にとどまっています
この記事を読むとQuestで↓こんな表現まで可能になります
どんな人が対象?
☑️ Quest対応したい人
☑️ VRC QuestToolsを通すだけはQuest対応してる人
☑️ Quest対応のイロハを知っているが、よりPCの表現に近づけたい人
こんな経験ありませんか?
Questではゆれものがすくない…
表現がのっぺりしてる…
boothでかっこいいギミック買っても動かない…
パーティクルがおかしくなる…
大体のギミックはQuestで実現できるんです!
手っ取り早く知りたい人はレベル1だけでも読んでね!!!
この記事を読んだらどんなことが実現できるの?
可動式ギミックが動く
サブアーム、銃など
半透明の表現が可能になる
サングラスやメガネの表現
パーティクルの利用
PCの表現に近づく
アウトラインによりQuest特有ののっぺり感を排除
PhysBoneの節約ができる
ふわふわスカートの実現
制限以上の表現を可能に
ワールド固定ギミックが動く
レベル0:VRC Quest Tools
よしなにQuest対応してくれるツール
ただこれを通すだけだとパーティクルがおかしくなったりギミックが動かないことが多い。
その対応方法を、ワンクリックから技術が必要なレベルまでレベル別に解説していく
レベル1:ワンクリックで出来る対応編
1.可動式ギミックを動かす
サブアームや武器など動くギミックが対応可能です
✅腕に追従させたり物の出し入れができるかっこいいギミック表現ができるよ!!やったね!!!
手順
※必ずVRC Quest Toolsで変換する前に実施してください!Toolsにより削除されてしまい対応できません。以下の手順をPC版で実施しても挙動に差異はないのでご安心ください
Unity上でヒエラルキー上のアバターを選択状態にする
VRChat SDK > Utilities > Convert Unity Constraints To VRChat Constraintsをクリック
Assetsの中で動かしたいギミックに同梱されているアニメーションファイル全てを選択状態にする(1つ1つ実施しても可)
VRChat SDK > Utilities > Convert Unity Constraints To VRChat Constraintsをクリック
完了
どうしてこれでなおるの?
前提
UnityのConstraintはQuestでは動きません
VRC Constraintに変換する必要がありますが、boothで販売しているもののほとんどがUnityのConstraintとなっています(VRC Constraintのリリースが最近な為対応されていない商品が大多数)
ギミックのConstraintコンポーネントを一括で変換し、対応するアニメーションファイルも一括で変換することで対応を実現します
2.半透明表現を可能にする
以下の記事よりVRC Quest Toolsによる変換後でも実施可能です
メガネやパーティクルといった表現をQuestで可能にします
(パーティクルシステムは特に対応なしでQuestで表現できるため、シェーダーの対応のみで可能)
✅タバコや魔法といったパーティクル表現ができるよ!!やったね!!!
手順
対応したい物のマテリアルのShaderの欄を以下に変更します
テクスチャが黒系の場合
VRChat/Mobile/Particle/Multiply
それ以外の場合
VRChat/Mobile/Particle/Additive
完了
どうしてこれでなおるの?
Questで利用可能な半透明シェーダーです
ちょっと背伸び
シェーダーをVRChat/Mobile/Matcap Litに変更し、MatCapに金属や宝石のテクスチャを設定することで設定した質感をQuestでも表現できます
シェーダーをVRChat/Mobile/Standard Liteに変更し、Emissionにチェックを入れ同じ画像を設定することでQuestでも発光を表現できます
3.PCの表現に近づく(アウトライン)
アウトラインをつけることでQuest特有ののっぺり感を一気に改善できます
個人的にQuest対応の最も重要なツールだと思っています!!!
✅かわいさが5000倍になるよ!!やったね!!!
詳細はこちら↓
PCでは表現可能なアウトラインをQuestにも、
そんな熱い思いから生まれたツールです。製作者に感謝
4.服や小物の裏側も描画する
Questのシェーダーは裏面を描画してくれません
なのでQuestToolsを通すと服の裏側が透明になってしまう事があります
それを以下のツールで解決できます!!!!
レベル2:少しだけUnity知識が必要
Unityの知識が少しある方向けです
1.ワールド固定ギミックを実現する
QuestではModular Avatarで用意されているワールド固定ギミックが動作しません
boothで販売されているワールド固定のギミックは上記を利用していることが多いです
以下に置き換えることでQuestで実現します
アプローチ
VRC Parent ConstraintのFleeze to Worldを利用します
MA固定ギミックを利用している箇所を上記で置き換えます
Expression menuなどアニメーションファイルで表現されているものも置き換えます
レベル3:Unity知識が必要
1.PhysBoneの節約ができる
Questでもふわふわスカートの実現や制限以上の表現を可能にします
アプローチ
Physboneがついていないがゆらしたいもの:A
Physboneがついているもの:B
VRC RotationConstraintをAに設定します
追従先をBに設定します
スカートの例
スカートは列挙型のボーンが円になるように配置されているものがほとんどかと思います
1つ飛ばしでPhysboneの対象からignoreし、ignoreしたボーンにVRC RotationConstraintコンポーネントを追加します
VRC RotationConstraintの追従先に両隣のボーン2つを追加することで、Physboneが入っていないにも関わらず両隣のボーンのちょうど中間に追従する振る舞いをするためあたかもPhysboneが入っているような振る舞いになります
これだけでPhysboneが半分節約できたね、やった!
髪飾りとヘッドドレスがあるならヘッドドレスにPhysboneを入れ、髪飾りはヘッドドレスのいずれかのボーンに追従させることでPhysboneの節約と表現の限界突破を可能にします
Quest対応修行中の時に師匠から着想をいただいたアプローチです!師匠に感謝
こんなツールもあります↓
Q&A
非圧縮サイズ40MB超えちゃってしんどいよ〜 ><
テクスチャの解像度を疑ってください
画像としての容量が20KB程度と少なくても解像度が2048x2048であれば大幅に非圧縮サイズを圧迫します
小物であれば512x512にするだけでも大幅に改善が見込まれます
どんなテクスチャの解像度が大きくてどのマテリアルをへんこうするひつようがあるかはこちらのツールを利用すると便利です
圧縮サイズ10MB超えちゃってしんどいよ〜 ><
テクスチャの容量を削ってください
大体解像度を落とせば自動的に容量も減るので、解像度変更サイトなどで変換するとよいでしょう
Unity上でサクッとポリゴン数削減できるツールもあるので試してみてね https://note.com/azukimochi25/n/n13837d7f015e
Physboneの制限えぐすぎない…?
本記事のPhysbone節約術のほかにVRC Constraintでさまざまな発想により表現が可能です!!!ファイト!!!!
ほかにどんなものがQuestで表現できるの?
コライダージャンプとか
どんなものが Questで表現できないの?
相互干渉Rigid body
音周り(Audio Source)
カスタムシェーダーの表現
ただしカスタムシェーダーがトリガーとなるギミックは造りの構造次第ではギミックのみ表現可能(PC側でトリガーを実施する必要がある)
さいごに
Questは上質な表現はできないものの、あたり前品質を担保だけならワンクリックで対応できるものが多いです!
知っているだけでPCとの表現を少なくでき残念体験を大幅に軽減し、幸せになれます
Quest勢の改変の一助に、PC勢のQuest対応のハードルを下げる記事になれば幸いです!!!!
番外編
僕のUnity知識の書き殴り
アニメーション
アニメーションコントローラーのWeightのデフォルトは0、都度1にする必要がある。罠すぎる
録画ボタン便利だから使おう
Expression Menuにカスタムメニュー追加したりアニメーションを表現したりできるぞ!
ボーンに追従させる
VRC ConstraintとMA Bone Proxyの使い分け
MA Bone Proxy
アバターの基本的なボーンにつけるとき:HeadやLowerLegなど
基本的にHeadに追従させるときはこちらを使ったほうがいい。Headのボーン配下は自分から見えなくなる効果がある。VRC Constraintがあるとそれが効かなくなり視界の邪魔になる。(VRC Head Chopでケアできるがここでは割愛)
VRC Constraint
ギミックなどのボーンに追従させる時
VRC Constraintとは
Rotation Constraint
回転方向の追従
Position Constraint
位置の追従
Parent Constraint
回転方向と位置の追従
VRC ContactもQuestでもちろん動きます!!!!!
手をかざすだけで変身するギミック
なでなでギミックなどを自作できます
以上!