vrc-worlds

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

VRChat Worlds Skill

VRChat世界创建技能

Version: 1.0 Stack: VRChat SDK, Unity
A VRChat world that runs at 30fps on your PC can run at 5fps on Quest. Realtime lights that look great in the editor tank performance for every player in the room. The Unity editor lies about performance — everything looks smooth until you test on actual hardware with actual players. And VRChat's performance ranking system means a poorly optimized world gets fewer visitors, not just a worse experience.
Quest-first building with baked lighting, proper spawn setup, and occlusion culling means your world runs well everywhere and gets promoted by the ranking system.

版本: 1.0 技术栈: VRChat SDK, Unity
在PC上以30fps运行的VRChat世界,在Quest设备上可能仅能以5fps运行。在编辑器中效果出色的实时光照会拖垮房间内所有玩家的性能。Unity编辑器的性能表现具有欺骗性——在真实硬件上与真实玩家测试前,一切看起来都很流畅。而且VRChat的性能排名系统意味着,优化不佳的世界不仅体验更差,还会获得更少的访问量。
以Quest设备优先,采用烘焙光照、合理的出生点设置以及遮挡剔除技术,能让你的世界在所有设备上流畅运行,并获得排名系统的推荐。

Scope and Boundaries

适用范围与边界

This skill covers:
  • World setup and scene hierarchy
  • VRChat performance limits
  • Lighting and baking
  • Spawn and respawn setup
  • World optimization
  • SDK components
Defers to other skills:
  • vrc-udon
    : Scripting and networking
  • unity-csharp
    : C# patterns and performance optimization
Use this skill when: Building or optimizing VRChat worlds.

本技能涵盖:
  • 世界设置与场景层级结构
  • VRChat性能限制
  • 光照与烘焙
  • 出生与重生设置
  • 世界优化
  • SDK组件
相关技能参考:
  • vrc-udon
    : 脚本编写与网络功能
  • unity-csharp
    : C#编程模式与性能优化
适用场景: 创建或优化VRChat世界时。

Core Principles

核心原则

  1. Quest Compatibility — Build for Quest first, enhance for PC.
  2. Bake Everything Possible — Realtime lighting kills performance.
  3. Respect the Limits — Stay within performance ranks.
  4. Test on Device — Editor performance lies.
  5. Spawn Matters — First impression is at spawn.

  1. Quest兼容性 — 优先针对Quest设备开发,再为PC设备增强效果。
  2. 尽可能烘焙所有内容 — 实时光照会严重影响性能。
  3. 遵守性能限制 — 保持在性能排名范围内。
  4. 在真实设备上测试 — 编辑器的性能表现不可靠。
  5. 出生点至关重要 — 玩家的第一印象来自出生点。

Performance Limits

性能限制

Quest (Target: Excellent/Good)

Quest设备(目标:优秀/良好)

MetricExcellentGoodMedium
Triangles50,000100,000200,000
Batches50100200
Materials255075
Lights (realtime)012
指标优秀良好中等
Triangles50,000100,000200,000
Batches50100200
Materials255075
实时光源012

PC (Target: Excellent/Good)

PC设备(目标:优秀/良好)

MetricExcellentGoodMedium
Triangles500,0001,000,0002,000,000
Batches100200400
Materials50100200
Lights (realtime)248

指标优秀良好中等
Triangles500,0001,000,0002,000,000
Batches100200400
Materials50100200
实时光源248

Patterns

实践模式

Scene Hierarchy

场景层级结构

World
├── Environment
│   ├── Static (mark as static)
│   │   ├── Ground
│   │   ├── Buildings
│   │   └── Props
│   └── Dynamic
│       └── Interactive objects
├── Lighting
│   ├── Directional Light (baked or mixed)
│   ├── Light Probes
│   └── Reflection Probes
├── Audio
│   └── Audio sources
├── VRChat
│   ├── VRCWorld (descriptor)
│   ├── Spawn Points
│   └── Mirrors/Portals
└── Udon
    └── Scripts and behaviors
世界根节点
├── 环境
│   ├── Static(标记为静态)
│   │   ├── 地面
│   │   ├── 建筑
│   │   └── 道具
│   └── 动态物体
│       └── 交互对象
├── 光照
│   ├── Directional Light(烘焙或混合模式)
│   ├── Light Probes
│   └── Reflection Probes
├── 音频
│   └── 音频源
├── VRChat
│   ├── VRCWorld(描述符)
│   ├── 出生点
│   └── 镜子/传送门
└── Udon
    └── 脚本与行为

Spawn Area Setup

出生区域设置

Spawn Checklist:
- Multiple spawn points (avoid stacking)
- Clear floor (no obstacles)
- Good lighting (players see themselves)
- Mirror nearby (avatar check)
- Safe area (no hazards)
- Interesting view (sets the mood)
出生点检查清单:
- 多个出生点(避免重叠)
- 地面整洁(无障碍物)
- 光照良好(玩家能看到自己)
- 附近有镜子(用于检查Avatar)
- 安全区域(无危险)
- 视野有趣(营造氛围)

Lighting Setup (Quest-Compatible)

光照设置(兼容Quest设备)

1. Set all lights to "Baked"
2. Mark static geometry as "Contribute GI" + "Reflection Probe Static"
3. Place Light Probes for dynamic objects
4. Place Reflection Probes for shiny surfaces
5. Bake with GPU Lightmapper
6. Delete realtime lights or set to "Not Important"
1. 将所有光源设置为“Baked(烘焙)”模式
2. 将静态几何体标记为“Contribute GI(贡献全局光照)” + “Reflection Probe Static(反射探针静态)”
3. 为动态物体放置Light Probes(光照探针)
4. 为光滑表面放置Reflection Probes(反射探针)
5. 使用GPU Lightmapper进行烘焙
6. 删除实时光源或设置为“Not Important(不重要)”

Occlusion Culling Setup

遮挡剔除设置

1. Mark large static objects as "Occluder Static"
2. Mark all static objects as "Occludee Static"
3. Window > Rendering > Occlusion Culling
4. Set appropriate cell sizes
5. Bake
6. Test with Occlusion visualization

1. 将大型静态物体标记为“Occluder Static(遮挡物静态)”
2. 将所有静态物体标记为“Occludee Static(被遮挡物静态)”
3. 窗口 > 渲染 > 遮挡剔除
4. 设置合适的单元格大小
5. 进行烘焙
6. 使用遮挡可视化工具测试

Anti-Patterns

反模式(错误实践)

Anti-PatternProblemFix
Realtime lights on QuestTanks performanceBake all lighting
No light probesDynamic objects are blackAdd light probe groups
Single spawn pointPlayers stack on joinMultiple spread spawns
Unbaked reflectionsExpensive or brokenUse baked reflection probes
No LODs on propsFull detail at distanceAdd LOD groups
Post-processing on QuestNot supported, ignoredPC-only or remove

反模式问题修复方案
在Quest设备上使用实时光源严重降低性能烘焙所有光照
未设置光照探针动态物体显示为黑色添加光照探针组
单一出生点玩家加入时重叠设置多个分散的出生点
未烘焙反射性能消耗大或显示异常使用烘焙反射探针
道具未设置LOD远处物体仍显示全细节添加LOD组
在Quest设备上使用后处理不被支持,会被忽略仅在PC设备使用或移除

Checklist

检查清单

Setup

设置项

  • VRCWorld descriptor configured
  • Multiple spawn points placed
  • Respawn height set appropriately
  • Reference camera configured
  • 已配置VRCWorld描述符
  • 已放置多个出生点
  • 已合理设置重生高度
  • 已配置参考相机

Performance

性能项

  • All static objects marked static
  • Lighting fully baked (Quest)
  • Light probes cover play area
  • Occlusion culling baked
  • LODs on significant meshes
  • Tested on Quest hardware
  • 所有静态物体已标记为静态
  • 光照已完全烘焙(Quest设备)
  • 光照探针覆盖游戏区域
  • 遮挡剔除已烘焙完成
  • 重要网格已设置LOD
  • 已在Quest硬件上测试

Quality

质量项

  • Spawn area is welcoming
  • Mirror available near spawn
  • No z-fighting or visual glitches
  • Audio levels balanced
  • World descriptively named

  • 出生区域友好舒适
  • 出生点附近有镜子
  • 无Z轴冲突或视觉故障
  • 音频音量平衡
  • 世界名称描述性强

References

参考资料

  • references/lighting-baking.md
    — Baked lighting setup for VRChat worlds
  • references/lighting-baking.md
    — VRChat世界烘焙光照设置指南

Assets

相关资源

  • assets/world-upload-checklist.md
    — Complete world upload checklist
  • assets/world-upload-checklist.md
    — 完整的世界上传检查清单