入稿ルール(クロスプラットフォームワールド 標準型ブース)
- 各ワールドには多数のブースが配置されます。たくさんの華やかなブースが並んでいる状態を作り、見た目にも賑やかで楽しい空間を作りたいと考えています。
- 一方で規模の大きいワールド故に発生しうるいくつかの問題を回避するためにブース作成にルールを設けます。
- PCへの負荷が高くなることで来場者にとって快適なプレイ環境を維持出来なくなることの回避
- 形式が統一されていないことで運営側でのチェック・管理が困難になることの回避
- 特定の操作によりインスタンスが破壊されてVRChatが落ちる/別のワールドに飛ばされるなどの致命的な不具合が起きることの回避
- 提出前に必ず入稿ルールに即しているかチェックをしていただきます。チェックには運営から配布する入稿ツール(以下、VketTools)を用いてください。
- 入稿ルールに沿わないブースが入稿された場合、再提出を依頼、もしくは配置しない等の処置を行わせて頂きます。予めご了承下さい。
- 入稿ルールに即していても負荷が高い等問題があると運営で判断したブースには再提出をお願いする場合があります。
- 複雑なギミックや動的に変化するブースを入稿する場合、再現の保証ができない可能性があります。
- 著しく情報量が少ないブースの場合、入稿期間終了後に運営より出展者に確認を行い、確認が取れない場合のみブースを撤去させてもらう場合があります。
クロスプラットフォームワールドについて
- クロスプラットフォームワールドでは、PC向けのWindowsビルドとMobile向けのAndroidビルドの二つのビルドが行われます。テクスチャ圧縮の関係上、WindowsビルドとAndroidビルドでは入稿したブースの外観が多少異なる場合があります。
- 特に細かい文字は圧縮で潰れる可能性があるため、TextやTextMeshProコンポーネントの利用を推奨します。
- また、可能な限り実機での確認を推奨します。
- Androidビルドでは一部のギミックが動作しなかったり、挙動が異なる場合があります。
- クロスプラットフォームワールドにはMobile環境でVRChatを遊んでいるプレイヤーが多く訪れます。メインとなる出展物がPC版のVRChatでしか利用できない、SteamVRでしか利用できない、などの状態になることは避けてください。
- ワールドのAndroidビルド容量が100MBを超過してアップロードが困難な場合に限り、出展者への連絡と共に出展物の圧縮設定を運営側で調整することがあります。
Vket Booth Makerについて
VketBoothMakerはUnityを使わずにウェブページ上からブースを作成・入稿できる新しいサービスです。
ブースは上記を用いて入稿することもできます。
詳細は下記ページを参照してください。
Vket Booth Maker公式
A.ブース作成環境規定
- Unity 2022.3.22f1で作成すること。
- VRChatCreatorCompanionを用いてProjectを作成すること。
- ProjectのtemplateはUnity2022WorldProjectを使用すること。
- VRCSDKは提出時点の最新バージョンを使用すること。
- 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"という名前のオブジェクトどちらかの階層下に配置すること。
- オブジェクトのTagはEditorOnly以外にすること。
"Static"オブジェクト
- 下記に該当する内容のオブジェクトは"Static"オブジェクトの階層下に配置すること。
- 動かず表示が切り替わる事も無いメッシュを含むオブジェクト
- "Static"オブジェクトの階層下にある全てのオブジェクトは下記の制限に従ってStatic設定を行うこと。
Static設定 | 制限内容 |
---|---|
Contribute GI | 任意。有効にする場合はレイヤーをEnvironmentにすること |
Occluder Static | 無効にする |
Batching Static | 任意 |
Occludee Static | 有効にする |
Reflection Probe Static | 任意 |
"Dynamic"オブジェクト
- 下記に該当する内容のオブジェクトは"Dynamic"オブジェクトの階層下に配置すること。
- アニメーションするオブジェクト(移動や回転だけでなく、表示/非表示等全ての変化を含む)
- Pickup出来るオブジェクト
- ParticleSystemを含むオブジェクト
- AudioSourceを含むオブジェクト
- Rigidbodyを含むオブジェクト
- UdonBehaviourを含むオブジェクト
- UdonBehaviourによって移動やActiveの切り替え等操作が行われるオブジェクト
- その他動いたり操作の対象となるオブジェクト
- "Dynamic"オブジェクトの階層下にある全てのオブジェクトは下記の制限に従ってStatic設定を行うこと。
Static設定 | 制限内容 |
---|---|
Contribute GI | 無効にする |
Occluder Static | 無効にする |
Occludee Static | 無効にする |
Batching Static | 無効にする |
Reflection Probe Static | 無効にする |
D.ブース規定
- ブースを配置できるスペースは幅4m×奥行き4m×高さ5m
- 原点を基準としてXZ方向に ±2m、Y方向に5m
- Z軸+方向(Unityの青い矢印の方向)が正面
- テクスチャ枚数制限 無し
- ただしアトラス化(統合)を強く推奨。
- 小さいサイズ(1k~2k)複数枚よりも大きいサイズ(4k)1枚の方が望ましい。
- AssetBundleのビルドサイズは下表の値に収めてください。
- VRC_Worldを置いた状態でブースのみをビルドした時のファイルサイズ
ビルドPlatform | ビルドサイズ |
---|---|
Windows | 5.00MB以内 |
Android | 3.00MB以内 |
- 描画負荷の軽減の為、SetPassCallsとBatchesは以下の値に収めてください。
- 実行時のSetPassCallsの基準値20
- 実行時のBatchesの目安基準値30
- Lightmapの合計面積が512x512(262,144)pixels以内
- ContributeGIにチェックが入っているオブジェクト(ScalesInLightmapの値が0のものは除く)は、なるべくライトマップがオーバーラップ状態にならないようにしてください。
- 配置の際に、Y軸回転されることがあります。
- 配置の際に、座標が原点でない場所に配置されます。
E.シェーダー規定
- 以下に挙げるシェーダーは運営からVketToolsとともに配布されます。
- まんまるしぇーだー MnMrShader3_1_2
- ユニティちゃんトゥーンシェーダー 2.0.9
- UnlitWF_20240212_01_Core_2019
- MToon v3.9
- UniUnlit in UniVRM-0.119.0_c684
- SunaoShader 1.6.2
- ArxCharacterShaders(AXCS) Build21
- Silent's Cel Shading Shader v1.11
- Mochie’s Unity Shaders v1.47
- lilToon 1.7.2
- Filamented Standard 1.2
- 上記シェーダーは入稿フォルダに含める必要はありません。
- 上記シェーダーでもバージョン違いやスクリプトを改変したものを使う場合は必ず複製したものを使い、入稿フォルダに含める事。
- 上記シェーダー以外のシェーダーを入稿する場合は以下の制限に従ってください。
- グローバルキーワード(shader_feature, multi_compile)は使用できません。 ローカルキーワード(shader_feature_local, multi_compile_local)を使用してください。
- VRカメラ表示時の問題を回避するため、_CameraDepthTextureを使用するシェーダーは使用できません。
- Editorフォルダ内のスクリプトは入稿フォルダに含めないでください。
- PoiyomiToonShaderを使用する場合、シェーダーのLockを行い、それによって生成されたシェーダーファイルのみを入稿してください。
- Unityのビルトインシェーダーと同名のシェーダーは使用できません。
- ステンシルを使用する場合、ステンシルバッファの値は200以下にしてください。
- シェーダーによってはMobile環境で描画がおかしくなる場合があるため可能な限り実機での確認をしてください。
F.Component規定
使用可能Component
1. VRCSDK
- Udon Behaviour
- 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
- VRC Spatial Audio Source
- Farを10以下にすること
- VRC AVPro Video Player
- 運営配布のPrefabでのみ使用可能。
- 1ブースあたり1個以内
- Auto Playを無効にすること。
- VRC AVPro Video Screen
- Use Shared Materialを無効にすること。
- VRC AVPro Video Speaker
- 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
- ShapeモジュールのShapeはMeshRenderer以外にすること。
- 再生時にスペースからのはみ出し禁止。
- Trail Renderer / Line Renderer
- 再生時にスペースからのはみ出し禁止。
- Particle System Force Field
- ShapeはSphereかBoxのみ使用可能。
- スペースからはみ出さないようEnd Rangeを調整すること。
- Light
- 使用可能な設定値に制限があります。下表の値としてください。
- ブースからのライトのはみ出しを極力抑えること。はみ出す場合は2メートル未満とすること(各ブース前後上下左右の約2メートルは、他ブースとの緩衝領域として空間が確保されます。その内側に抑えてください)。
- 規定範囲内であっても、ワールド全体のベイク作業に支障がある、あるいは他ブースへ強く影響してしまう設置方法の場合、変更や撤去をお願いすることがあります。あらかじめご了承ください。
- Light Probe Group / Light Probe Proxy Volume
- スペースからのはみ出し禁止。
- Reflection Probe
- TypeをBakedまたはCustomに設定すること。
- Resolutionは128まで。
- Camera
- 1ブースあたり1個以内
- 初期状態でコンポーネントをDisabledにすること。
- ローカルプレイヤーがUdon更新範囲(後述)内にいる時のみEnabledにすること。
- TargetTextureに必ずRenderTextureを指定すること。
- RenderTextureは最大1024x1024サイズを1枚まで使用可能。
- Flare Layer
- Skybox
- Projector
- 1ブースあたり1個以内
- Projectorを含むオブジェクトは初期状態で非Activeにすること。
- ローカルプレイヤーがUdon更新範囲(後述)内にいる時のみ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にすること。
- ローカルプレイヤーがUdon更新範囲(後述)内にいる時のみEnabledにすること。
- Max Distanceを10以下にすること。
- Volumeは過度に大きくならないよう運営配布の音源を参考に調節すること。
- 運営配布のprefabsで使用されているもの以外ではSpatial Bandを1.0に設定すること。
- 音源の仕様
- 基準ラウドネス値:-14LUFS(Ceilingは-3.0dB)
- 書き出し設定:.ogg -128kbpsがおすすめ
- Audio Reverb Zone
- スペース外に影響が出ないようMaxDistanceを調節すること。
- Cyan Trigger Asset
- Cyan TriggerコンポーネントはCyan Trigger AssetコンポーネントにConvertすること。
運営配布のPrefabsでのみ使用可能なComponent
Prefab | 使用可能Component |
---|---|
VketAvatarPedestal | VRC Avatar Pedestal |
VketVideoPlayer | VRC AVPro 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にされます。
- VRC AVPro Video Player
- ローカルプレイヤーがUdon更新範囲から出た時点でStop()関数が呼ばれます。
ペデスタルアバター規定
VRChatの規定によりVRC_Avatar Pedestalに設定するアバターは以下を守ってください。 また、クロスプラットフォームワールドにおいてはクロスプラットフォームに対応しているアバターのみVRC_Avatar Pedestalに設定することができます。
- パフォーマンスランクがVery poorでないこと
- VRChatの利用規約・コミュニティガイドラインに違反しないこと
外部データ読み込み規定
VideoPlayer, ImageLoading, StringLoading等を用いて外部データを読み込む場合は以下を守ってください。 開催前・開催後問わず、違反が確認された場合、修正の依頼または該当オブジェクトの非表示やブースの撤去等の処置を行わせて頂きます。予めご了承下さい。
- 「VRChat」の利用規約・コミュニティガイドラインに反する外部データ読み込みの禁止
- NFTやブロックチェーン技術のような製品やサービスの宣伝に繋がる外部データ読み込みの禁止
- 外部データの変更はサークルメンバーのみが行えるように設定し、不特定多数が変更出来ないようにすること。
ワールド仕様
- ワールド設置物
- VRC Mirror
- ワールド仕様
- Avatar Scaling設定
- 有効
- Light設定
- Default, Player, PlayerLocal, Pickup, MirrorReflection, レイヤを照らす Realtime, NoShadow の DirectionalLight
- DirectionalLightの角度はワールドにより異なります。
- Environmentレイヤを照らすワールド構造物およびブース向けのShadow付き Baked ライト
- 各ブースの外周24ヶ所に 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 Processing設定
- Post Processing Stack V2のBloomを使用します。
- Navigation設定
- NavMeshはベイクされません。
- Avatar Scaling設定