47. 继续学习
到这里全书 47 章读完。一座世界从空 Unity 工程到上线 VRChat、稳定运营的全程跑通过一遍。
但 VRChat SDK 一直在更新,UdonSharp 的能力一直在扩展,社区里每周都有新教程、新坑、新工具。这本书写定之后就是一份固定快照,世界在它之外继续变。
最后一章的目的不是再教什么新技术,是回答书结束之后接下来去哪这个问题:要查文档时去哪、要看别人怎么做时去哪、下一座世界怎么开始。
第一节:官方文档的结构
Section titled “第一节:官方文档的结构”creators.vrchat.com 是写这本书时反复回查的源头。官方文档自己有一套结构,理解了这个结构后续自己查会快很多。
主站大致分四个层级:
creators.vrchat.com├─ /sdk/ SDK 安装、版本、Creator Companion├─ /worlds/ ← 写这本书的主战场│ ├─ /creating-your-first-world/ 入门│ ├─ /components/ 所有 SDK 组件参考│ ├─ /udon/ Udon 编程│ │ ├─ /networking/ 网络同步│ │ ├─ /persistence/ PlayerData│ │ └─ /graph/ Udon Graph(书里没怎么用)│ ├─ /sdk-prefabs/ 官方预制体│ ├─ /performance-tips/ 性能建议│ ├─ /submitting-a-world/ 发布流程│ └─ /updating-your-world/ 版本更新├─ /avatars/ 头像开发(这本书没碰)├─ /economy/ Creator Economy└─ /platforms/ └─ /android/ Quest 平台限制读法上的几条经验:
- 每个组件的字段定义都在
/worlds/components/<componentname>/。书里凡是「VRC X」开头的组件(VRC Pickup、VRC Object Sync、VRC Scene Descriptor、VRC Spatial Audio Source 等),文档地址都是这个模式。直接拼 URL 比从首页点进去快。 - SDK 升级 / 版本变动看
/sdk/。VRChat 大改 SDK 的时候迁移指南都在这一段。每年大改一次,社区里有大量过期教程,遇到看着不对的步骤先来这里对一遍。 - Networking 那块特别绕。同一件事在
/worlds/udon/networking/下分散在好几个子页(network-components、events、ownership、sync 等),第一次读建议从/worlds/udon/networking/主页那张总图开始,别从子页钻进去。
VRChat 还维护一份旧版文档 docs.vrchat.com(早期 SDK2 时代留下的)。Community Labs、Trust Rank 这些跟玩家行为相关的内容仍然在那里,跟创作者文档分开。
第二节:社区资源怎么挑
Section titled “第二节:社区资源怎么挑”社区资源繁多,质量参差。可以按权威性分几档:
| 档位 | 来源 | 怎么用 |
|---|---|---|
| 官方 | creators.vrchat.com、udonsharp.docs.vrchat.com、官方 GitHub | API 行为以此为准 |
| 平台官方 | Unity Manual、Microsoft C# Docs | Unity / C# 基础以此为准 |
| 社区组织 | VRCLibrary、VR Creators、VRCD 文档库、VRC School、UdonSharp DeepWiki | 有编辑流程,质量稳定 |
| 知名个人 | Vowgan、JustSleightly、神乐甜狐狸、Liya 荔吖等 | 经验丰富,需核实版本 |
| 散落资源 | 单篇博客、单次视频、Reddit / Discord 帖子 | 作为线索,必须用上层来源核实 |
VRChat 创作圈的几条「不读会绕远路」的资源:
- VRChat 官方 Discord(
discord.gg/vrchat):最快的实时问答场。#world-creation频道里多数日常问题几小时内有人答。 - Creator Forum(
ask.vrchat.com):长期问题归档。比 Discord 检索方便,回答质量高。 - DeepWiki(
deepwiki.com/vrchat-community/):AI 对官方文档的结构化解读。读官方文档卡时换这里看一遍经常豁然开朗。 - VRChat 官方 GitHub(
github.com/vrchat-community):Creator Docs 源码、World 模板、UdonSharp 源码都在这里。能看到最新提交是什么时候、最近改了什么。
中文圈的资源单独列:
- VRCD 文档库(
docs.vrcd.org.cn):中文社区共建文档,有完整的世界教程系列和 VCC 详解。 - VRChat 汉化文档中心(
docs.vrczh.org):官方 Creator Docs 的中文翻译,跟得比较勤。 - Bilibili 收藏夹:搜「VRChat 世界」「Udon」能找到不少系列教程,新一些的视频通常带了制作日期。
英文圈和日文圈的资源很多,按需要查。但凡是 2022 年之前的内容、或者不写明 SDK 版本的内容,先怀疑再用。
第三节:读别人的世界
Section titled “第三节:读别人的世界”「读别人的代码」是第三部讲过的事。在 VRChat 里有一个变体:「读别人的世界」。
VRChat 有几类公开可学的世界:
官方示例项目
Section titled “官方示例项目”VRChat 官方提供了 UdonExampleScene(包含在 World SDK 里)。安装 SDK 之后导入这个场景,能看到官方写好的几十个交互范例:按钮、计数器、同步、Pickup、Station、传送门,每个都是简单完整的小例子。
读这个项目能学到的:官方推荐的 Udon 写法是什么样、组件之间怎么搭。书里没展开的细节多数能在这里找到。
Open-source 世界
Section titled “Open-source 世界”VRChat 上有一些创作者把世界源工程开源出来:
- VRWorld Toolkit(
github.com/oneVR/VRWorldToolkit):不是世界本身,是一个 Unity 编辑器扩展,但里面对世界各种检查的代码本身就是学习材料。 - Vowgan 的免费 Prefab(Gumroad 免费区):完整带源工程的世界组件。
- GitHub 上搜
udonsharp:能找到很多创作者公开的脚本仓库。
读开源世界的方法:
- 把工程下载到本地,用书里同一份 SDK 版本打开。
- 先 Build & Test 进去玩。先理解这世界做什么,再看代码怎么实现。
- 找到关键交互,看挂在哪个 GameObject 上,看 Inspector 里挂了哪几个 UdonSharp 脚本。
- 读源码。重点看「这一段做了我之前没想过的事」。
按这个顺序读比直接打开 .cs 文件读快得多。Unity 项目离开了 Hierarchy 上下文,单看代码经常一头雾水。
上传时打开 World Debugging
Section titled “上传时打开 World Debugging”SDK 上传面板里有个 World Debugging 开关,勾上之后允许其他玩家在你的世界里调试 Udon 脚本(看变量、看事件流)。这是社区互相学习的合规途径——找别人开了 Debugging 的开源世界,进去看一遍 Udon 流程,比单看代码直观。
第四节:碰到新问题时的查资料顺序
Section titled “第四节:碰到新问题时的查资料顺序”碰到问题 ↓先试一次:能不能用书里学过的知识解决? ↓ 不能查官方文档对应章节([附录 J · 资料导航](/appendix/resources/)) ↓ 没有搜社区:VRChat Ask Forum、UdonSharp Discord、VR Creators 文档站 ↓ 仍没有在自己工程里做最小复现,Console 红字 + 复现步骤贴到论坛 ↓拿 `Build & Test` 或 ClientSim 结果当最终依据API 名、参数签名以 udonsharp.docs.vrchat.com 和 IDE 自动补全为准。社区帖子和旧教程可能对应过期 SDK。
第五节:下一座世界做什么
Section titled “第五节:下一座世界做什么”第一座世界上线之后,「下一座做什么」这个问题马上来。
几个判断方向:
同一个方向再做一遍
Section titled “同一个方向再做一遍”第一座世界上线的过程里学到的最多的是「平台和工作流」:VCC 怎么用、SDK 怎么打包、Quest 兼容怎么测。这些是一次性投入。
第二座世界沿用同样的工作流,能把心思全放在「设计和体验」上。第二座世界质量通常显著高于第一座。
适合的人:第一座世界做的是 Chill / Gallery / Tool,对结果满意,想再做一座类似但更好的。
换一种世界类型
Section titled “换一种世界类型”第五部讲过八种世界类型。第一座做了 Chill,第二座可以试 Game。第一座做了 Gallery,第二座可以试 Narrative。
代价:换类型几乎等于重头学。Game World 的状态机、网络同步、UI 架构跟 Chill World 的几乎不重叠。
适合的人:第一座做完之后想拓展能力面,不在意速度。
做扩展、工具或共享组件
Section titled “做扩展、工具或共享组件”不一定每次都做完整世界。VRChat 圈子里有大量人做的是:
- 共享 Prefab:通用的 Pickup 系统、按钮系统、状态机模板,发布到 Booth / Gumroad 给其他创作者用。
- Shader:poiyomi、Liltoon 这种社区 Shader 都是单人或小团队维护的。
- Unity 编辑器工具:VRWorld Toolkit 这一类辅助工具。
- 教程内容:写博客、做视频、维护文档。这本书也属于这一类。
适合的人:发现自己更喜欢「让其他创作者更轻松」这件事。
VRChat 上越来越多的世界是团队作品:美术 + 程序 + 音效 + 活动运营。
适合的人:擅长其中一两块,但想做更复杂的世界。一个人撑全场不是必须的。
第六节:书结束之后这本书还能怎么用
Section titled “第六节:书结束之后这本书还能怎么用”这本书写完会持续更新。但即使停更,作为一份固定快照仍然能用:
- 当工具书查回某个概念怎么解释(GameObject、Prefab、UdonSharp 的脾气、网络同步、PlayerData 等)。
- 当某一章某一节的钩子和踩坑预警仍然有效(VRChat 平台基础设计很少改,这些不会过期)。
- 给身边想入门的朋友递一份。
会过时的部分:
- 具体的 UI 截图(VRChat SDK 的面板会重排)。
- 具体的快捷键(VRChat 客户端的快捷键会变)。
- 具体的 API 名(UdonSharp 偶尔会改名、改签名)。
- 政策细节(Community Labs 的具体阈值、Creator Economy 的分成、Quest 包大小上限)。
碰到这些过期的部分时,按这一章前面几节的方法重新查一遍当前版本就行。骨架是稳的,细节是动的。
这本书结束之后实际的下一步
Section titled “这本书结束之后实际的下一步”不是通用的「保持热情」「相信自己」这种话。是几个具体动作:
- 在常用的浏览器标签里固定收藏:
creators.vrchat.com、udonsharp.docs.vrchat.com、自己加的某个 Discord / 论坛、本书的目录页。每次开始做事前把这几个标签依次扫一眼,比临时搜要快。 - 维护一份自己的踩坑笔记。每次踩到坑、查到答案、绕过一个陷阱,写一行到本地一个 Markdown 文件里。三个月后这份笔记是自己最值钱的资料。
- 给自己定一个节奏。不是每天写代码,是每周固定时间打开 Unity(哪怕一小时)。VRChat 世界开发是技能型工作,间隔太久会忘工具的具体位置。
- 找一两个同行在线。一个能问问题的人。VRChat 的几个 Discord(VRChat 官方、VRCD、各创作者社群)门槛都很低,进去说一句「我在做世界」就有人聊。
- 把自己第一座世界的源工程留好。第一座的代码以后回头看会觉得很糙,但那是自己的入门痕迹,第二座、第三座是从那里长出来的。
47 章走完,从「VRChat 是一个别人可以走进来存在的空间」走到「世界发布之后下一座做什么」。
这条路上有些事是可以教的:Unity 怎么用、UdonSharp 怎么写、网络同步是什么、性能怎么压、世界怎么发布。这些书里都讲过。
有些事书教不动:第二座世界做什么、第三座世界做什么、做了五年世界之后还要不要继续做世界。这些是创作者自己一个一个决定攒起来的。
VRChat 世界开发是一件可以做很久的事。第 1 章讲的「人类几万年来一直在做的事」如果有什么意义,意义在这里:构造一个别人可以走进去的空间这件事,在每个时代都有人做,下一代继续会有人做。这本书让其中的一个人少走一段弯路。
剩下的事自己往下走就好。