在游戏中,没有什么比加载屏幕更能打断玩家的游戏流畅性,而在虚拟现实中,这个问题更是被放大了十倍。“临场感”或“沉浸感”,那种神奇而又脆弱的“身临其境”的感觉,使得虚拟现实变得格外特别。当玩家突然被传送出一个奇幻的世界,进入一个寒冷、黑暗的空间,只有一个孤零零的加载条时,这种幻觉瞬间被打破。更糟的是,未被注意的小加载会导致帧率卡顿和随之而来的VR晕动病。在这篇访客文章中,VR开发者Charlie Cochrane探讨了一系列设计技巧,用于克服打破沉浸感的加载屏幕。
访客文章 作者:Charlie Cochrane
Charlie Cochrane是一位独立的VR开发者,经营着Crooks Peak工作室。拥有机器人技术、编程和饼干递送公司的背景,他于2016年开始制作爱好性质的VR游戏,并于2021年全职投入。其科幻动作恐怖游戏《By Grit Alone》将在2024年冬季发布,而即将推出的维多利亚时代僵尸列车模拟游戏《Full Steam Undead》定于2026年春季发布,两者均将在Meta Quest和Steam上提供。
在VR中,加载条不仅仅是暂停游戏;它将玩家传送到一个令人迷失的黑暗虚空,完全打断了“临场感”。
这是我在之前的游戏《By Grit Alone》和即将发布的《Full Steam Undead》中采取的核心设计原则。这两款游戏的战役时间均为约4小时,并有一个严格的规则:零加载屏幕和无帧率卡顿。
在本文中,我将分享一些高阶技巧,从技术魔法到欺骗手段,开发者使用这些技巧来最小化或完全隐藏加载。读者应该会对这些隐形系统有新的认识,并更好地理解为什么游戏中有这么多电梯场景。
背景加载(流媒体)
最好的加载是玩家根本没有意识到它们的存在。引入“资产流媒体”;其目标是在后台以小块方式加载游戏资产(模型、纹理、声音),而不是一次性全部加载,这样就不会中断游戏。
这可能很棘手,因为游戏需要预测需要加载的内容和时机,以确保在需要的时候准备好加载。这个过程需要小心平衡;如果预加载过多,就会占用所有内存,而如果加载不够,可能会导致需要未加载的资产。当在VR中尤其棘手,因为在独立系统中内存和处理能力可能紧张,任何短暂的阻塞加载都可能引发明显的卡顿。
资产流媒体可以简单到在需要播放之前几秒钟加载一个MP3音频文件。在《By Grit Alone》中,每当你收到NPC的无线电信息时,我会在通话开始时播放一段无线电静电的嗡嗡声。这段两秒钟的片段很好的框定了通话,也给我争取了两秒钟的时间来在后台加载实际信息!
一个更复杂但常见的例子是;将一个大型开放世界地图划分为多个块,并根据玩家的位置和视角加载/卸载这些块。《Asgard’s Wrath 2》就是很好的例子;如果做得当,玩家可以在巨大的地图上骑行,而看不到加载条。如果做得不好,玩家会看到世界的某些部分或敌人瞬移进出游戏。
隐形加载(欺骗)
资产流媒体很好,但有时引擎确实需要更多的时间或内存。例如:玩家正在从一个巨大的区域移动到另一个,而新区域的大小太大,以至于无法在“隐形”状态下流媒体加载,而不先移除旧区域。
引入“电梯”。玩家步入电梯,按下按钮,被迫等待,缓慢上升或下降,或许还有NPC的闲聊或昏闷的电梯音乐。这段(通常无法跳过的)旅程实际上是一个伪装的加载屏幕。通过将玩家放在一个小空间内,引擎可以卸载前一个场景,释放内存,然后加载新场景,而这段旅程为引擎提供了在后台完成此操作的时间。
这段长长的电梯旅程不仅仅是为了增加戏剧张力,它是“掩饰”完全新环境加载的最常见和有效的方法之一。
当然,电梯只是一个例子,但是一旦你知道该要寻找什么,你会在很多地方看到这些隐形加载:
紧凑的挤压:玩家必须挤过狭窄的岩石裂缝或在两堵墙之间穿行。
缓慢开启的门:角色努力撬开沉重的起重门或等待高科技的“去污染”扫描才能打开门。
爬行空间:强迫玩家进入通风口或低矮的隧道,在那里移动缓慢,视野受限。
这些并不是懒惰的设计,它们是非侵入性的解决方案,以保持玩家在世界中的互动,同时给引擎时间和资源在后台进行加载。
“暂停”作为加载(叙事UI)
观点警报:好的VR设计将UI集成到世界中,作为维持临场感的核心部分。对我来说,一个不必要地将你传送出游戏的暂停菜单,与另一个加载屏幕一样糟糕。优秀的VR示例将菜单组件置于游戏世界中,包括:
在《Cosmodread》中,更新的恐怖船只地图是腕部固定的,始终可见:
在《The Lab》中,你通过将一个球体拉到头上来加载一个关卡,而不是使用列出的关卡菜单:
在《Into The Radius》中,你通过从物理背包中取出物品来管理库存,而不是打开库存菜单:
所有这些都避免了“暂停”,并保持玩家在世界中。更好的是,在不暂停这些动作的情况下,玩家可能在这样做时会回头,看着周围的环境,意识到他们的环境可能并不在意他们是否停下来查看背包或地图。
“失败”加载(瞬时重置)
隐藏失败(抱歉妈妈)可能非常困难,但隐藏失败时的加载?这个我们可以做到!
在一个具有挑战性的、重启频繁的VR游戏中,失败可能是学习循环的一部分。想想《Beat Saber》或《Pistol Whip》;每次重置之间等待10秒的“重新加载检查点”将彻底打断游戏流畅性。
在《Beat Saber》中,重启是瞬时的,以免惩罚玩家。
这些游戏使用“瞬时重置”。它们能在几分之一秒内重启的原因是,它们从不卸载关卡。想象一下像舞台剧一样:当演员在排练中演错台词时,工作人员不会重建整个布景。导演会大喊“从头来过!”演员们只是重置到他们的起始位置。
游戏也是如此。它并不是重新加载关卡;它只是按下一个巨大的“倒带”按钮。它将你传送回起点,并重置敌人和物体到它们的初始状态。关卡的资产始终留在内存中。虽然这比简单地从头加载关卡复杂,但它尊重玩家的时间,保持他们的专注,将沮丧转化为简单的“好吧,再来一次!”
“第一次”加载(着色器编译)
当我说我的游戏没有加载屏幕时,那是一个小谎言;和许多游戏一样,在玩家第一次启动我的游戏时,我会进行一次“第一次加载”。
这最常见的原因是“着色器编译”。着色器是一个小程序,告诉GPU如何渲染一个表面——这火,那块看起来湿润的岩石,这扇玻璃窗。游戏第一次需要展示“火”时,可能需要编译该着色器,从而在耳机中导致明显的卡顿或抖动,而这种情况可以发生在任何新类型的表面首次展示时。
和许多游戏一样,《By Grit Alone》选择了一个简单的权衡:让玩家等待一次。
《By Grit Alone》的第一次加载帮助避免了后续的着色器编译卡顿。
当你第一次启动游戏时,它会运行一次性着色器编译步骤。作为交换,玩家可以在整个战役中不中断地进行体验,不会因即兴编译着色器而出现卡顿。这是一个经典的“现在支付或之后支付”的问题,但对于VR来说,在游戏过程中为加载付款可能意味着导致VR晕动病的帧卡顿。
有时你根本无法隐藏它(“诚实”加载)
有时无法避免加载屏幕,因此请尽可能减少加载时间。
在加载过程中保持玩家的头部追踪活动也很重要(即如果他们移动头部,加载条将保持在被追踪的环境中,而不是固定在玩家的视野中)。加载条紧贴视野是对玩家面部佩戴耳机的最糟糕提醒。
这也可能是放置小贴士的好时机;在《By Grit Alone》的第一次加载中添加关于难度设置的提示,减少了玩家的挫败感。
更好的选择是一个互动加载屏幕。真的可以享受一个加载屏幕吗?《黑白2》的互动加载屏幕就是一个小游戏:
—— – — – —
最终,所有这些技巧都有一个共同的目的:通过减少或消除令人不快的加载屏幕和不必要的暂停,为玩家提供最佳的体验。通过结合智能的技术决策和巧妙的、情境感知的设计,我们可以保护玩家的流畅状态,实现在虚拟现实中的无缝梦想。这在VR中尤其重要,因为一个加载屏幕可能使玩家在黑暗虚无中完全失去视觉,或者导致令人恶心的帧率卡顿。
随着硬件的加速,这些技术肯定会进化,但我感觉在VR游戏的遥远未来,我们仍然会在电梯中等候,并通过通风口爬行。