入稿ルール(Quest会場 全般)
- 各会場には多数のブースが配置されます。たくさんの華やかなブースが並んでいる状態を作り、見た目にも賑やかで楽しい空間を作りたいと考えています。
- 一方で規模の大きいワールド故に発生しうるいくつかの問題を回避するためにブース作成にルールを設けます。
- PCへの負荷が高くなることで来場者にとって快適なプレイ環境を維持出来なくなることの回避
- 形式が統一されていないことで運営側でのチェック・管理が困難になることの回避
- 特定の操作によりインスタンスが破壊されてVRChatが落ちる/別のワールドに飛ばされるなどの致命的な不具合が起きることの回避
- 提出前に必ず入稿ルールに即しているかチェックをしていただきます。チェックには運営から配布する入稿ツール(以下、VketTools)を用いてください。
- 入稿ルールに沿わないブースが入稿された場合、再提出を依頼、もしくは配置しない等の処置を行わせて頂きます。予めご了承下さい。
- 入稿ルールに即していても負荷が高い等問題があると運営で判断したブースには再提出をお願いする場合があります。
- 複雑なギミックや動的に変化するブースを入稿する場合、再現の保証ができない可能性があります。
- 著しく情報量が少ないブースの場合、入稿期間終了後に運営より出展者に確認を行い、確認が取れない場合のみブースを撤去させてもらう場合があります。
Quest会場について
- Quest会場では、PC向けとQuest向けの二つのビルドが行われます。テクスチャ圧縮の関係上、PCビルドとQuestビルドでは入稿したブースの外観が多少異なる場合があります。
- 特に細かい文字は圧縮で潰れる可能性があるため、TextやTextMeshProコンポーネントの利用を推奨します。
- Questビルドでは一部のギミックが動作しなかったり、挙動が異なる場合があります。
- VketWebPageOpenerのWebページ起動はQuestでは動作しません。
- Questで動画を再生するには、指定するURLを.mp4形式の動画への直接リンクにする必要があります。(Youtube動画のURLはQuestでは再生されません)
- Quest会場にはOculusQuest環境でVRChatを遊んでいるプレイヤーが多く訪れます。メインとなる出展物がPC版のVRChatでしか利用できない、SteamVRでしか利用できない、などの状態になることは避けてください。
A.ブース作成環境規定
- Unity 2019.4.31f1で作成すること。
- VRCSDKはVRCSDK3-WORLDを使うこと。
- VRCSDK及びUdonは提出時点の最新バージョンを使用すること。
- VketToolsを使用して提出すること。
- 入稿するアセットは全て、VketToolsによってAssetsフォルダ直下に作成される、出展者IDの番号名のフォルダ(例: 184)以下に入れること。
- 上記フォルダ内の、出展者IDの番号名のScene上にてブースを作成すること。
B.ファイル&フォルダ規定
- ファイル&フォルダ名は半角英数、-(ハイフン)、_(アンダーバー)、 (半角スペース)、.(ドット)、()(かっこ)のみ使用可能です。
- Projectに含まれるものは全て上記のみのファイル名にすること。
- 全てのファイルパスはUnity内の「Assets/」以下が184文字以内に収まるようにすること。
- メッシュは「.FBX」等Unity標準で読み込める形式のファイルにすること。
- 「.blend」ファイルは標準では読み込めません。
- メッシュのTexturesとMaterialsは必ずExtractすること。
- 入稿フォルダ以下のファイル総容量100.00MB以内
C.Scene内階層形式規定
- ブースの一部に含まれるオブジェクトは、全て下記規定に従って配置・設定すること。
- 出展者IDの番号名の空のオブジェクトを全ての親とする。
- ブースの一部に含まれる各オブジェクトは、
その内容に応じて上記親オブジェクトの子である"Static", "Dynamic"という名前のオブジェクトどちらかの階層下に配置すること。
"Static"オブジェクト
- 下記に該当する内容のオブジェクトは"Static"オブジェクトの階層下に配置すること。
- 動かず表示が切り替わる事も無いメッシュを含むオブジェクト
- "Static"オブジェクトの階層下にある全てのオブジェクトは下記の制限に従ってStatic設定を行うこと。
Static設定 | 制限内容 |
---|---|
Contribute GI | 任意。有効にする場合はレイヤーをEnvironmentにすること |
Occluder Static | 無効にする |
Occludee Static | 有効にする |
Batching Static | 有効にする。ただし有効にすることで描画が崩れる場合は無効にしても良い |
Navigation Static | 無効にする |
Off Mesh Link Generation | 無効にする |
Reflection Probe Static | 任意 |
"Dynamic"オブジェクト
- 下記に該当する内容のオブジェクトは"Dynamic"オブジェクトの階層下に配置すること。
- アニメーションするオブジェクト(移動や回転だけでなく、表示/非表示等全ての変化を含む)
- Pickup出来るオブジェクト
- ParticleSystemを含むオブジェクト
- AudioSourceを含むオブジェクト
- Rigidbodyを含むオブジェクト
- UdonBehaviourを含むオブジェクト
- UdonBehaviourによって移動やActiveの切り替え等操作が行われるオブジェクト
- その他動いたり操作の対象となるオブジェクト
- "Dynamic"オブジェクトの階層下にある全てのオブジェクトは下記の制限に従ってStatic設定を行うこと。
Static設定 | 制限内容 |
---|---|
Contribute GI | 無効にする |
Occluder Static | 無効にする |
Occludee Static | 無効にする |
Batching Static | 無効にする |
Navigation Static | 無効にする |
Off Mesh Link Generation | 無効にする |
Reflection Probe Static | 無効にする |
D.ブース規定
- ブースを配置できるスペースは幅4m×奥行き4m×高さ5m
- 原点を基準としてXZ方向に ±2m、Y方向に5m
- Z軸+方向(Unityの青い矢印の方向)が正面
- テクスチャ枚数制限 8枚
- ただしアトラス化(統合)を強く推奨。
- 小さいサイズ(1k~2k)複数枚よりも大きいサイズ(4k)1枚の方が望ましい。
- テクスチャ制限
- 各テクスチャのピクセル数は縦・横共に4の倍数ピクセルにしてください。
- 全テクスチャの総ピクセル数は4096の二乗以下にしてください。
- 例: 4096×4096のテクスチャ1枚……OK
- 例: 2048×2048のテクスチャ2枚 + 1024×1024のテクスチャ2枚……OK
- テクスチャのインポート設定において、Override for Androidは無効にしてください。
- Questビルドでは運営によって一律のテクスチャ圧縮形式が適用されます。
- 圧縮形式はASTC6x6を予定していますが、描画負荷によってはより高い圧縮形式になる可能性があります(ASTC8x8など)。
- AssetBundleのビルドサイズ5.00MB以内
- VRC_Worldを置いた状態でブースのみをビルドした時のファイルサイズ
- 描画負荷の軽減の為、SetPassCallsとBatchesは以下の値に収めてください。
- 実行時のSetPassCallsの基準値20
- 実行時のBatchesの目安基準値30
- Lightmapの合計面積が512x512(262,144)pixels以内
- ContributeGIにチェックが入っているオブジェクト(ScalesInLightmapの値が0のものは除く)の中で、ライトマップがオーバーラップ状態になっているものは入稿できません。
- 配置の際に、Y軸回転されることがあります。
- 配置の際に、座標が原点でない場所に配置されます。
E.シェーダー規定
- 使用可能シェーダー
- Unityのビルトインシェーダー の内、下記以外のシェーダー
- Particles/Standard Unlit
- "VRCSDK3-WORLD" 同梱のシェーダーの内、
- VRChat/Mobile/○○○○
- VRChat/Panosphere
- "TextMeshPro" 同梱のシェーダーの内、
- TextMeshPro/Mobile/Distance Field
- "まんまるしぇーだー MnMrShader3_1_2" 同梱のシェーダーの内、
- MMS3/○○○○
- "ユニティちゃんトゥーンシェーダー 2.0.9" 同梱のシェーダーの内、
- UnityChanToonShader/Mobile/○○○○
- "Unlit_WF_ShaderSuite_20220923" 同梱のシェーダー 全て
- "UniVRM-0.99.4_8d33" 同梱のシェーダーの内、
- UniGLTF/○○○○
- VRM/○○○○
- "noribenQuestWaterシェーダー" 同梱のシェーダーの内、
- Noriben/DepthWater
- Noriben/noribenQuestWaterCubemap
- Unityのビルトインシェーダー の内、下記以外のシェーダー
- 使用禁止シェーダー
- 上記使用可能シェーダー以外の全てのシェーダー
- 上記使用可能シェーダーのうち、"noribenQuestWaterシェーダー"以外のシェーダーは入稿フォルダに含める必要はありません。
- VRChat/Panosphereシェーダーは、配置時にQuestでも動作するよう修正されたものに置換されます。
- "Unlit_WF_ShaderSuite_20220813" 同梱のシェーダーは、Questビルド時に同パッケージ内のQuest向けシェーダーに置換されます。
- StandardシェーダでEmissionを使用する場合、Global IlluminationはBakedを設定すること。
F.Component規定
使用可能Component
1. VRCSDK
- UdonBehaviour
- 1ブースあたり10個以内
- 運営配布のPrefabに含まれるものも数に含む。
- 詳細な規定は Udon規定 を参照。
- 1ブースあたり10個以内
- VRC Object Sync
- 1ブースあたり5個以内
- 運営配布のPrefabに含まれるものも数に含む。
- Allow Collision Ownership Transferを無効にすること。
- 1ブースあたり5個以内
- VRC Pickup
- 1ブースあたり5個以内
- 運営配布のPrefabに含まれるものも数に含む。
- 1ブースあたり5個以内
- VRC Station
- 1ブースあたり4個以内
- VRC Ui Shape
- VRCSpatialAudioSource
- スペース外に音源の影響が出ないようFarを調節すること。
- ※ただし、スペースの各方向の大きさ×0.2m(横0.8m,縦1m,手前奥0.8m)までのはみ出しは許容する
- VRC Unity Video Player
- 運営配布のPrefabでのみ使用可能。
- 1ブースあたり1個以内
- VRC Avatar Pedestal
- 運営配布のPrefabでのみ使用可能。
2. 物理演算
- Box Collider / SphereCollider / CapsuleCollider / Mesh Collider
- Mesh Colliderは非推奨。出来るだけ他のColliderで似た形を作ること。
- スペースからのはみ出し禁止。
- Rigidbody
- Is Kinematicを有効にすること。
- Cloth
- 1ブースあたり1個以内
- Character Controller
- Dynamic Bone
- Distant Disableを有効にすること。
- Dynamic Bone Collider
3. Rendering / Effect
- Mesh Filter
- Mesh Renderer
- Boundsのスペースからのはみ出し禁止。
- ContributeGI をチェックしたオブジェクトは、Layer割り当てをEnvironmentとしてください。
- EnvironmentのLayer以外ではContributeGIを使用できません。
- Material0のMesh Rendererは禁止。
- Lightmap Parametersの変更は禁止。
- Skinned Mesh Renderer
- Boundsのスペースからのはみ出し禁止。
- Update When Offscreenを無効にすること。
- Materials 0のSkinned Mesh Rendererは禁止。
- Sprite Renderer
- Sprite Mask
- Sorting Group
- Particle System / Trail Renderer / Line Renderer
- 再生時にスペースからのはみ出し禁止。
- Light
- 使用可能な設定値に制限があります。下表の値としてください。
- ブースからのライトのはみ出しを極力抑えること。はみ出す場合は2メートル未満とすること(各ブース前後上下左右の約2メートルは、他ブースとの緩衝領域として空間が確保されます。その内側に抑えてください)。
- 規定範囲内であっても、ワールド全体のベイク作業に支障がある、あるいは他ブースへ強く影響してしまう設置方法の場合、変更や撤去をお願いすることがあります。あらかじめご了承ください。
- Light Probe Group / Light Probe Proxy Volume
- スペースからのはみ出し禁止。
- Reflection Probe
- TypeをBakedまたはCustomに設定すること。
- Resolutionは128まで。
- Camera
- 1ブースあたり1個以内
- 初期状態でコンポーネントをDisabledにすること。
- TargetTextureに必ずRenderTextureを指定すること。
- RenderTextureは最大1024x1024サイズを1枚まで使用可能。
- Flare Layer
- Skybox
- Projector
- 1ブースあたり1個以内
- Projectorを含むオブジェクトは初期状態で非Activeにすること。
- Post Process Volume
- Is Globalを無効にすること。
- 下記Effectは使用不可。
- Ambient Occlusion
- Screen Space Reflection
- Depth of Field
- Motion Blur
- Lens Distortion
Lightの設定値制限
Directional Lightは使用不可。
Type | Point または Spot | Area |
---|---|---|
Mode | Baked | (baked only) |
Range | 0~7 | 0~7 |
Width | - | 0~5 |
Height | - | 0~5 |
Radius | - | 0~2.5 |
Intensity | 0~10 | 0~10 |
Indirect Multiplier | 0~15 | 0~15 |
Shadow Type | Soft Shadows または Hard Shadows | - |
Cast Shadows | - | ON |
個数制限 | 制限はありません | 1スペースあたり3個まで |
4. コンストレイント
- Aim Constraint
- Look At Constraint
- Parent Constraint
- Position Constraint
- Rotation Constraint
- Scale Constraint
5. UI
Canvas / Layout 関連
- Canvas
- Render ModeをWorldに設定すること。
- Canvas Scaler
- Graphic Raycaster
- Canvas Group
- Grid Layout Group
- Horizontal Layout Group
- VerticalLayout Group
- LayoutElement
- Content Size Fitter
描画関連
- Canvas Renderer
- Text Mesh Pro / Text Mesh Pro UGUI
- FontAssetを入稿フォルダに同梱すること(標準で入ってるものは同梱不要)。
- Text
- Outline
- Shadow
- Image
- Raw Image
- Mask
- Rect Mask 2D
- Aspect Retio Fitter
- PositionAsUV1
Input関連
- Button
- Toggle
- Toggle Group
- Slider
- Scrollbar
- Scroll Rect
- Dropdown / TMP_Dropdown
- Input Field / TMP_Input Field
- Event Trigger
- Selectable
6. その他
- Animator
- 1ブースあたり50個以内
- Apply Root Motionを無効にすること。
- Culling Modeは原則Cull Update TransformsまたはCull Completelyに設定し、どうしても必要な場合以外は Always Animateは避けること。
- AudioSource
- 1ブースあたり10個以内
- 初期状態でコンポーネントをDisabledにすること。
- Volumeは過度に大きくならないよう運営配布の音源を参考に調節すること。
- 運営配布のprefabsで使用されているもの以外ではSpatial Bandを1.0に設定すること。
- スペース外に影響が出ないようMax Distanceを調節すること。
- ※ただし、スペースの各方向の大きさ×0.2m(横0.8m,縦1m,手前奥0.8m)までのはみ出しは許容する
- 音源の仕様
- 基準ラウドネス値:-14LUFS(Ceilingは-3.0dB)
- 書き出し設定:.ogg -128kbpsがおすすめ
- Audio Reverb Zone
- スペース外に影響が出ないようMaxDistanceを調節すること。
- Cyan Trigger
運営配布のPrefabsでのみ使用可能なComponent
Prefab | 使用可能Component |
---|---|
Vket_AvatarPedestal | VRC Avatar Pedestal |
Vket_VideoPlayer | VRC Unity Video Player |
その他運営が用意するComponent
使用禁止Component
上記使用可能Component以外の全てのComponent
制御対象Component
ブースの原点からX方向に±3m、Z方向に±4m、Y方向に6m(幅6m×奥行8m×高さ6m)をそのブースのUdon更新範囲とし、この範囲を基準に下記Componentは運営より制御されます。
- VRC Pickup
- 運営が配布するprefab以外で使用した場合、プレイヤーがUdon更新範囲から出た時点で位置が初期地点にリセットされます。
- Camera
- ローカルプレイヤーがUdon更新範囲から出た時点でDisabledにされます。
- AudioSource
- ローカルプレイヤーがUdon更新範囲から出た時点でDisabledにされます。
- Projector
- ローカルプレイヤーがUdon更新範囲から出た時点でProjectorがアタッチされたオブジェクトが非Activeにされます。
- VRCUnityVideoPlayer
- ローカルプレイヤーがUdon更新範囲から出た時点でStop()関数が呼ばれます。
ペデスタルアバター規定
VRChatの規定によりVRC_Avatar Pedestalに設定するアバターは以下を守ってください。
また、Quest会場においてはQuestに対応しているアバターのみVRC_Avatar Pedestalに設定することができます。
- Skinned Mesh Renderer 8以下
- Material 16以下
- Dynamic Boneが影響するTransform数 32以下
- Dynamic Bone Collider 2以下
- ポリゴン数 70000以下
ワールド仕様
- ワールド設置物
- VRC Mirror
- ワールド仕様
- Light設定
- Default, Player, PlayerLocal, Pickup, MirrorReflection, レイヤを照らす Realtime, NoShadow の DirectionalLight
- DirectionalLightの角度はワールドにより異なります。
- Environmentレイヤを照らすワールド構造物向けのShadow付き Baked ライト
- 各ブースの外周8ヶ所に LightProbe が設置されます。
- ワールド用のReflection Probeが設置されます。
- ライトマッパーはProgressiveCPUが使用されます。
- Directional Mode は Non-Directional です。
- Default, Player, PlayerLocal, Pickup, MirrorReflection, レイヤを照らす Realtime, NoShadow の DirectionalLight
- Layer設定
- Defaultレイヤを、ContributeGIをチェックしないオブジェクト(アバターモデル等)のために使用。
- Pickupレイヤを、ContributeGIをチェックしないオブジェクト(持ち上げる小物モデル等)のために使用。
- Environmentレイヤを、ContributeGIをチェックしたワールド構造物やブース展示物のために使用。
- UserLayer22をPost Processing用レイヤとして使用。
- Post Prosessing設定
- Post Processing Stack V2のBloomを使用します。
- 使用Version 2.3.0
- Navigation設定
- NavMeshはベイクされません
- Light設定