VRChat 非公式日本語ドキュメント

Android Content Limitations

このページでは、Android版VRChatに設けられている各種制限について説明します。これらの制限は、パフォーマンスの維持、ユーザーの安全性の確保、および悪意のある行為を抑制するために設けられています。

制限されているコンポーネントの詳細については、Android向けコンテンツ最適化のページをご覧ください。

アバター固有の制限事項

現在のVRChatでは厳密な制限は実装されていませんが、将来的にポリゴン数、マテリアル数、メッシュ数、その他の品質基準に基づいた厳密な制限をアバターに設ける可能性があります。 Android Content Optimization に記載されている推奨事項を念頭に置いて制作を行ってください。

現在、推奨事項を超えるアバターやアバターワールドをアップロードした場合、そのワールドやアバターは公開停止となる可能性があります。

シェーダー

Android版やQuest版のVRChatでは、アバターに使用できるシェーダーは最新のSDKに同梱されているものに限られます。以下にシェーダーの一覧と簡単な説明、入力項目を示します。このリストは変更される可能性があり、新しいシェーダーが利用可能になった際はパッチノートでお知らせします。

以下に挙げたすべてのシェーダーは、シェーダー選択ダイアログの VRChat/Mobile 下にあります。

パフォーマンス上の理由から、マテリアルでは必ず「Enable GPU Instancing」を有効にしてください。

Shader Name Shader Description
Toon Standard モバイルプラットフォーム向けのVRChatで使用できる、最も強力で設定項目が豊富なトゥーン調シェーダーです。Standard Liteが適さない場合のほとんどのケースで推奨されます。以下の機能に対応しています。
  • UV0またはUV1によるDetailマップとEmissionマップ。
  • カスタムシャドウランプ、設定可能な簡易スペキュラライティング、リムライティング、Matcap。
  • Albedo、Emission、Detailに対するマスク可能な色相シフト。
  • タイル可能でマスク可能なディテールノーマルを含むノーマルマップ。
  • 複数のマップを異なるパック形式に結合するための、カラーチャンネル設定が可能なマスクテクスチャ。
注意: 「Outline」バージョンはPCのみのサポートです。モバイルデバイスでは自動的にOutlineなしのバリアントにフォールバックされます。このシェーダーはPC用アバターにも使用できますが、現時点ではリアルタイムシャドウには対応していません。
Standard Lite VRAMの使用量を抑えたUnity Standardの「Lite」バージョンです。
  • AlphaとParallaxを除く、UnityのStandard Metallic設定のチャンネルマッピングをサポートしています。
  • Diffuseテクスチャはメッシュの頂点カラーによって色付けされます。
  • テクスチャを同一のものにパックすることで、各チャンネルを最適化できます。
    • Texture 1: Albedo (RGB) および Detail Mask(A)
    • Texture 2: Metallic (R)、Occlusion (G)、および Smoothness (A)
  • リアルタイムライティングをサポートしていないため、PCでの使用は推奨されません。
Bumped Diffuse Diffuseシェーダーにノーマルマップを追加したものです。Diffuseテクスチャは頂点カラーによって色付けされます。
Bumped Mapped Specular Diffuseシェーダーに、アルファチャンネルを使用したスペキュラマップ(光沢)を追加したものです。Diffuseテクスチャは頂点カラーによって色付けされます。ノーマルマップもサポートされています。
Diffuse 基本的なDiffuseシェーダーです。Diffuseテクスチャは頂点カラーによって色付けされます。
Matcap Lit DiffuseシェーダーにMatcap入力を追加したものです。光沢のある金属表面をシミュレートするのに使用できます。Diffuseテクスチャは頂点カラーによって色付けされます。
Toon Lit トゥーン調のシェーディングと影を提供します。フラットな色調のキャラクター向けです。Diffuseテクスチャは頂点カラーによって色付けされます。
Particles/Additive パーティクルに使用するシェーダーです。加算(Additive)モードでブレンドします。
Particles/Multiply パーティクルに使用するシェーダーです。乗算(Multiply)モードでブレンドします。
Lightmapped (Only for worlds) ライトマップをサポートした基本的なDiffuseシェーダーです。このシェーダーはワールド専用であり、アバターには使用できません。リアルタイムライティングには対応していません。
Skybox (Only for worlds) ワールド用に最適化されたスカイボックスシェーダーです。
Supersampled UI (Only for worlds) テクスチャサンプリング段階でスーパーサンプリングを行うUnlitシェーダーです。ミップマッピングと併用することで、ワールド内のUIテキストを粒状感や違和感なく鮮明に表示できます。

コンポーネント

以下のコンポーネントはAndroidおよびQuestではサポートされておらず、動作しません。このリストは変更される可能性があります。変更があった場合は、パッチノートや更新されたドキュメントでお知らせします。

Shader Name Shader Description
Dynamic Bones AndroidおよびQuestでは完全に無効化されます。代わりに PhysBones を使用してください!!
Cloth AndroidおよびQuestでは完全に無効化されます。
Cameras アバター用としては、AndroidおよびQuestでは完全に無効化されます。ワールドでの使用は許可されていますが、過度な使用には注意してください。
Lights アバター用としては、AndroidおよびQuestでは完全に無効化されます。
Video Players 一部の制限付きで動作します。詳細は Video Players を参照してください。
Post-Processing ポストプロセッシングシステムは、AndroidおよびQuestでは完全に無効化されます。GPUがこれらのエフェクトを適切に処理できる設計になっていないためです。
Audio Sources アバター用としては、AndroidおよびQuestでは完全に無効化されます。Audio Sourcesは大量のCPUリソースを消費するため、ボイスチャットが優先されます。
Physics Objects アバター用としては、Rigidbody、Collider、Jointは完全に無効化されます。
ワールド内での使用は許可されていますが、やりすぎないように注意してください。
Particle Systems アバター用としては、AndroidおよびQuestではパーティクルが大幅に制限されます。設定はPC版の Avatar Particle System Limits に準拠します。
Constraints UnityのConstraintsは、複雑なパフォーマンスの問題により、アバター用としてはAndroidおよびQuestで完全に無効化されます。代わりに VRChat Constraints を使用してください。

ワールド内での使用は許可されています。Questやモバイルデバイスのリソースは限られているため、想定以上にパフォーマンスに影響を与える可能性があります。過度な使用には注意してください。
FinalIK カスタムのFinalIKコンポーネントは、アバター用としてはAndroidおよびQuestで完全に無効化されます。
FinalIKコンポーネントはリソースを際限なく消費する原因となります。現時点では、これらのプラットフォームで有効にする予定はありません。

最終更新: