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/Particleは開発環境のバージョンによって挙動が変わる場合があります
パーティクルシステムでの利用に推奨されているシェーダーのため、パーティクル以外で利用する場合には理解の上自己責任での利用をお願いいたします

https://creators.vrchat.com/platforms/android/quest-content-limitations/
  • ちょっと背伸び

    • シェーダーを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にするだけでも大幅に改善が見込まれます

    • どんなテクスチャの解像度が大きくてどのマテリアルをへんこうするひつようがあるかはこちらのツールを利用すると便利です

    • https://note.com/azukimochi25/n/n5a165236a011

  • 圧縮サイズ10MB超えちゃってしんどいよ〜 ><

    • テクスチャの容量を削ってください

    • 大体解像度を落とせば自動的に容量も減るので、解像度変更サイトなどで変換するとよいでしょう

    • Unity上でサクッとポリゴン数削減できるツールもあるので試してみてね https://note.com/azukimochi25/n/n13837d7f015e

  • Physboneの制限えぐすぎない…?

    • 本記事のPhysbone節約術のほかにVRC Constraintでさまざまな発想により表現が可能です!!!ファイト!!!!

  • ほかにどんなものがQuestで表現できるの?

    • コライダージャンプとか

  • どんなものが Questで表現できないの?

    • 相互干渉Rigid body

    • 音周り(Audio Source)

    • カスタムシェーダーの表現

      • ただしカスタムシェーダーがトリガーとなるギミックは造りの構造次第ではギミックのみ表現可能(PC側でトリガーを実施する必要がある)

さいごに

Questは上質な表現はできないものの、あたり前品質を担保だけならワンクリックで対応できるものが多いです!

知っているだけでPCとの表現を少なくでき残念体験を大幅に軽減し、幸せになれます
Quest勢の改変の一助に、PC勢のQuest対応のハードルを下げる記事になれば幸いです!!!!

イベントや集会時には周囲への負荷などVRChatの基本的なマナーを心がけるとみんなが幸せになれます!!リッチな表現と処理の重さはトレードオフ!!軽量化の記事はネットの海に沢山あるので気になる方は見てみてね
VRChatのマナーを守りつつ皆さんの楽しい改変ライフを!!!!

番外編

僕の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でもちろん動きます!!!!!

    • 手をかざすだけで変身するギミック

    • なでなでギミックなどを自作できます

以上!





いいなと思ったら応援しよう!