[超軽量ミラー]Quest対応・低負荷Mirror切り替えスイッチ
- ¥ 0
VRChatの標準ミラー:FX/MirrorReflectionは高負荷のため、グラフィック処理性能の乏しい環境(特にQuest単体)では著しくフレームレートが落ちてしまいます。 一方でRenderTextureを使った疑似的なミラーはとても負荷が低く、Quest環境でも安心して使用できます。 このアセットはその超軽量ミラーと通常ミラーを切り替えるスイッチ(UdonSharpで動作)が付いたVRChatワールド想定プレハブです。
<概要>
・PCミラーがONの状態でQuestミラーもONにしようとすると、自動的にPCミラーがOFFになる親切設計。 ・Sceneに置くだけですぐに使える2種類のプレハブを同梱。 ① 単色背景のQuestミラー ② Sceneに指定しているSkyboxが背景になるQuestミラー (①が最軽量。②は「VRChat/Mobile/Skybox」以外のシェーダーを使用すると非常に高負荷になる場合があります。) ・VRChat Creator Companionで作成したプロジェクト(UdonSharp 1.1.6)で動作確認済み。
<補足>
・VCCでワールド用プロジェクト(UdonSharp付)を作成してから本UnityPackageをインポートしてください。 VCCを使わない場合は、VRCSDK3とUdonSharpの手動インポートが必要です。 ・前述①の背景色を変えたい場合は、「Mirror_Quest/Camera:Background」のカラーパレットを変更してください。 ・もしも映したいものが各種ミラーに映らない場合は、「Mirror_Quest/Camera:Culling Mask」と「MirrorPC:Reflect Layers」を変更してください。各プレハブでは最小限に初期設定しています。
<さらに補足>
※超軽量ミラーのサイズを変更したい場合 ・Mirror_QuestのTransformを弄ると、映る像がズレてしまいます。 そのため、サイズを変更したい場合は以下の調整を行う必要があります。 ① サイズ確認用の適当なObject(お好きなアバターのfbxでも、UnityのCubeでもよい)をUnity Editor上でミラーの前に置き、そのObjectのLayerを「Default」から「Local」に変更する。 この状態で、非表示になっているMirror_Questをオンにすると、このObjectがミラーに映し出されます。 ②-1 サイズの縮小&拡大のみ行いたい場合 Mirror_Quest/RenderTextureのTransformを変更 → その後、Mirror_Quest/Cameraの「Size」をデフォルトの1.8より小さくする or 大きくする。 ②-2 アスペクト比を変更したい場合 Mirror_Quest/RenderTextureのTransformを変更 → その後、QuestMirrorフォルダ/Texフォルダ内の「Render_Q_mirror」テクスチャの「Size」をデフォルトの4096x2304から変更する。 (e.g. 2倍横長にしたいなら8192x2304に変更) ②-3 サイズとアスペクト比の両方を変更したい場合 上述の②-1と②-2の手法を組み合わせて、サイズ確認用Objectと鏡の写像を見比べながら、お好みの大きさに調整してください。 ③ サイズ確認用Objectを削除して、ワールドをアップロードする。
<ライセンス>
MIT license https://opensource.org/licenses/mit-license.php
<更新履歴>
・2022/12/11 配布開始 ・2022/12/18 v1.1更新 Canvas, UI image, EventSystemの使用を廃止、1つのMeshに変更(負荷軽減) スイッチの画像がGenerate Mipmapsされていなかった不具合を修正(ジラつきの軽減) ・2022/12/25 v1.2更新 Questミラーのサイズ調整方法を追記、Prefab内の誤字を修正 ※ 意図しない挙動を確認した場合は、お気軽に作者までご連絡ください。