前言
VRChat 里的同步灯,是 Vol.1 留下的承诺:两个玩家在同一个房间里,按下按钮,两边的灯都亮起来。能做到这一步,已经证明 Udon 能写同步逻辑。但合上 Vol.1 之后,下一个想做的世界往往是合作防守、卡牌对战、解谜推理、派对小游戏。这些世界的玩家会问出 Vol.1 没回答的问题:
- 加入房间的时候,分数应该是多少?
- Master 玩家退出之后,怪是不是不动了?
- 我按按钮触发陷阱,按完之后这个陷阱要不要进入冷却?冷却时间显示在哪里?
- 第三个玩家迟入进来,看到的世界是什么样?
这些都是状态问题,不是同步代码问题。VRChat 的多人架构有自己的形状:每个网络对象都有 Owner,事件不会重放,同步变量受字节预算约束,没有自定义权威服务器。把传统多人游戏的客户端预测、Lag 补偿、反作弊照搬过来会撞墙。这一卷换一个起点:从「一局游戏里有哪些状态」开始,再决定哪些状态归 PlayerObject,哪些归 GameState,哪些通过事件传递,哪些只留在本地。
这本书覆盖什么
Section titled “这本书覆盖什么”四个层次按从下到上铺开。
| 层次 | 在做什么 | 涉及的核心概念 |
|---|---|---|
| 同步层 | 给后面所有章节铺地基 | Owner / PlayerObject / 同步变量 / 事件 / Object Sync / 字节预算 |
| 状态层 | 把同步层组织成一局游戏 | 游戏状态机 / 命令模式 / 版本号 / 迟入与掉线恢复 |
| 玩法层 | 落到具体的游戏机制 | 大厅 / 队伍 / 回合制与即时制 / NPC / 物理对象 / 观战 |
| 生产层 | 把前面三层放进运营环境 | 调试 / 性能 / 内测 / 上线迭代 / 版本迁移 |
主项目是 2-4 人合作防守 / 推塔原型。这个题材比 FPS 更适合 VRChat:能覆盖实时状态、NPC、队伍、分数、对象池、观战、结算,又不把精确命中判定当核心承诺。回合制卡牌作为对照案例,在对应章节出现。
视觉风格化、Shader、光照这类属于 Vol.3 的范围;社区工具生态和插件开发归 Vol.4;跨会话持久化和全球榜归 Vol.5。
高强度竞技 FPS 的公平反作弊承诺也不在覆盖范围内。VRChat 没有自定义权威服务器,这类玩法只能讲近似与取舍,不会写成可复制的方案。
读完 Vol.1,或达到 Vol.1 第 30 章水平:
- 能用 UdonSharp 写同步开关、抓取物、简单计数器。
- 不再被 C# 基础语法卡住:字段、方法、数组、
for、foreach、null检查、枚举。 - 知道
[UdonSynced]、OnDeserialization、RequestSerialization大概是什么。 - 走过 VCC、Unity、Build & Test、上传发布的常规流程。
不假定读者写过游戏服务器,也不假定读者懂 Mirror、Photon、Unity Netcode。
这本书有几种结构
Section titled “这本书有几种结构”主线动手章编号 0–46,每章解决一个具体问题,有完整可粘贴的脚本,是阅读的主轴。中间夹着四次闭环演示章(第一部末、第二部末、第四部末、第八部),每次把前面学到的东西拼成一局能跑的游戏,并故意留下缺陷待下一次闭环修;以及四次对照小练,把刚学的架构搬到另一个看似不同的玩法上,验证可迁移性。每部还各有一篇理解章把刚做完的事抬升一层视角,一篇 500–800 字的创作者视角短文把技术操作连接回创作意图。每部开头是部入口页,含「前情速通」和该部的章节列表,第三部入口另外有「中途岔路图」按玩法类型给推荐章节路径。
详细的结构与节奏说明放在 一页速通 里。
第一部 8 章可读。0 章过渡、闭环 1、对照小练 A 占位中。第二部到第八部按规划推进。每部入口页能提前看到该部承诺的范围。
本卷由人类作者与 AI 协作生成。AI 用于资料整理、章节铺写和文风稳定,技术结论、术语取舍、最终判断由人类作者校对后定稿。
正文不伪造作者的具身经历。读到「半小时后我才意识到」「我那时候盯着屏幕」这类细节时,可以直接合理怀疑那不是真实经验。书里的「我」只在前言、关于页和章节的明确立场陈述里出现,操作步骤通篇省略人称主语。