跳转到内容

1. 一个玩家的好奇心

约 4 分钟

想做 VRChat 世界的念头,常常是从在某个世界里停下脚步开始的。

可能是一间雨夜小屋。窗外有雨,屋里有暖光,朋友坐在地毯上聊天。也可能是一个游戏世界,机关、计分、复活点、音效都恰到好处。也可能是一个很小的角落,没什么名堂,但让人忽然想知道:

这个地方,到底是怎么被做出来的?

这一章先不打开 Unity,先把范围聊清楚。

「做一个 VRChat 世界」听上去像一件刚出现没几年的事。VRChat 由 Graham Gaylor 和 Jesse Joudrey 在 2014 年 1 月最先发布在 Oculus Rift DK1 上,2017 年 2 月登陆 Steam Early Access 才被多数玩家知道,真正破圈则是 2018 年初社区里那波 meme 风潮之后。怎么算都还很新。但要做的事情本身,人类做了几万年。

洞穴壁画里墙上的猎物和手印。神庙和教堂里用穹顶高度和光线落点制造的庄严。花园里被精心安排过的路径,游乐园里藏在每一个转角后头的体验。再到现代游戏关卡,设计师用地形、光线、敌人位置牵着玩家走的一切。

这条线很长,VRChat 世界是它最新的一环。和那些前辈在做同一件事:构造一个别人可以走进去体验的环境。

区别在于,VRChat 世界是虚拟的、多人的、可交互的,一个人在家用电脑就能做,门槛比过去低得多。但要面对的核心问题没变:这个空间能给人什么感受?人进来之后知不知道往哪走?他们愿不愿意留下来?

所以做一个 VRChat 世界,不只是做一张可走的地图。它当然包含一张地图,但同时也包含光线、声音、节奏,以及人和人之间会发生什么。

很多游戏里,世界是玩法的容器;VRChat 里世界本身常常就是终点。它可以是房间、舞台、展厅、一个游戏、一个工具,也可以只是让人愿意安静待着的那种地方。

这意味着做一个 VRChat 世界,会同时碰到好几摊事:空间布局、视觉、声音、交互、多人网络、性能。书后面会逐章拆开讲。这不是单一技能,每一摊事最终都指向同一个判断:人进来之后,觉不觉得这是一个「地方」。

动手之前,有一张粗略的全景图会有帮助。一个 VRChat 世界大致经过这几步走出去:

  1. Unity 场景:在 Unity 编辑器里搭出来的三维空间,里面有物体、灯光和脚本。
  2. VRChat SDK:一组组件,负责告诉 VRChat「这个 Unity 场景是一个世界」。
  3. 构建和上传:把场景打包,上传到 VRChat 服务器。
  4. 玩家加入:别人在 VRChat 客户端里搜到这个世界,走进来。

每一步后面都会详细讲。

这本书的路线很简单:先让一个能站进去的世界出现在屏幕上。

第一阶段会装工具、建项目、放地板、放出生点、按 Build & Test,然后真的站进去。看见结果之后,再回头讲 Unity 在做什么、VRChat SDK 在做什么、那个出生点为什么决定了人物的位置。

跟纯照做不一样的地方:动手之前,每一步都会先讲清在解决什么问题。「想站进自己做的空间,要解决三件事:有一块地面、有一个出生位置、有一个告诉 VRChat 这是世界的标记。」逐个搞定。

不需要一开始就懂全部。知道往哪走就行。

第一次打开 Unity 看到满屏面板,第一次盯着 C# 报错,觉得自己学不会,这些反应都很常规。这些工具的设计有它自己的历史包袱,很多地方对第一次接触的人并不友好。是工具的问题,不是读者的问题。

排行榜上那些热门世界的作者,第一天也对着空白场景发呆过。差别只是他们扛过了前面几周的困惑期。