1. 一个玩家的好奇心
想做 VRChat 世界的念头,常常是从在某个世界里停下脚步开始的。
可能是一间雨夜小屋。窗外有雨,屋里有暖光,朋友坐在地毯上聊天。也可能是一个游戏世界,机关、计分、复活点、音效都恰到好处。也可能是一个很小的角落,没什么名堂,但让人忽然想知道:
这个地方,到底是怎么被做出来的?
这一章先不打开 Unity,先把范围聊清楚。
想做的事,人类做了很久
Section titled “想做的事,人类做了很久”「做一个 VRChat 世界」听上去像一件刚出现没几年的事。VRChat 由 Graham Gaylor 和 Jesse Joudrey 在 2014 年 1 月最先发布在 Oculus Rift DK1 上,2017 年 2 月登陆 Steam Early Access 才被多数玩家知道,真正破圈则是 2018 年初社区里那波 meme 风潮之后。怎么算都还很新。但要做的事情本身,人类做了几万年。
洞穴壁画里墙上的猎物和手印。神庙和教堂里用穹顶高度和光线落点制造的庄严。花园里被精心安排过的路径,游乐园里藏在每一个转角后头的体验。再到现代游戏关卡,设计师用地形、光线、敌人位置牵着玩家走的一切。
这条线很长,VRChat 世界是它最新的一环。和那些前辈在做同一件事:构造一个别人可以走进去体验的环境。
区别在于,VRChat 世界是虚拟的、多人的、可交互的,一个人在家用电脑就能做,门槛比过去低得多。但要面对的核心问题没变:这个空间能给人什么感受?人进来之后知不知道往哪走?他们愿不愿意留下来?
所以做一个 VRChat 世界,不只是做一张可走的地图。它当然包含一张地图,但同时也包含光线、声音、节奏,以及人和人之间会发生什么。
VRChat 世界要同时是几样东西
Section titled “VRChat 世界要同时是几样东西”很多游戏里,世界是玩法的容器;VRChat 里世界本身常常就是终点。它可以是房间、舞台、展厅、一个游戏、一个工具,也可以只是让人愿意安静待着的那种地方。
这意味着做一个 VRChat 世界,会同时碰到好几摊事:空间布局、视觉、声音、交互、多人网络、性能。书后面会逐章拆开讲。这不是单一技能,每一摊事最终都指向同一个判断:人进来之后,觉不觉得这是一个「地方」。
一个世界从硬盘到玩家面前
Section titled “一个世界从硬盘到玩家面前”动手之前,有一张粗略的全景图会有帮助。一个 VRChat 世界大致经过这几步走出去:
- Unity 场景:在 Unity 编辑器里搭出来的三维空间,里面有物体、灯光和脚本。
- VRChat SDK:一组组件,负责告诉 VRChat「这个 Unity 场景是一个世界」。
- 构建和上传:把场景打包,上传到 VRChat 服务器。
- 玩家加入:别人在 VRChat 客户端里搜到这个世界,走进来。
每一步后面都会详细讲。
先做出来,再回头理解
Section titled “先做出来,再回头理解”这本书的路线很简单:先让一个能站进去的世界出现在屏幕上。
第一阶段会装工具、建项目、放地板、放出生点、按 Build & Test,然后真的站进去。看见结果之后,再回头讲 Unity 在做什么、VRChat SDK 在做什么、那个出生点为什么决定了人物的位置。
跟纯照做不一样的地方:动手之前,每一步都会先讲清在解决什么问题。「想站进自己做的空间,要解决三件事:有一块地面、有一个出生位置、有一个告诉 VRChat 这是世界的标记。」逐个搞定。
不需要一开始就懂全部。知道往哪走就行。
卡住是默认状态
Section titled “卡住是默认状态”第一次打开 Unity 看到满屏面板,第一次盯着 C# 报错,觉得自己学不会,这些反应都很常规。这些工具的设计有它自己的历史包袱,很多地方对第一次接触的人并不友好。是工具的问题,不是读者的问题。
排行榜上那些热门世界的作者,第一天也对着空白场景发呆过。差别只是他们扛过了前面几周的困惑期。