Notifications
Article
VR科幻游戏《 Ground Runner: Trails》开发经验
Published 8 months ago
278
0
本文将由Astrofish Games的创意总监Chris Bolton介绍全新VR游戏《Ground Runner: Trials》在Unity中的开发经验,包括如何处理游戏中眩晕感和测试过程等。

工作室介绍

Astrofish Games是2016年在英国创立的一家小型VR开发工作室。工作室的二位开发总监在游戏行业拥有超过十年的经验,他们参与开发了多款3A级移动和主机游戏,包括《Batman》,《Hungry Shark》等。

游戏简介

《Ground Runner: Trials》是一款科幻飞行摩托的单人FPS游戏,游戏背景设置在与世隔绝的遗忘星球上,该游戏包含8个沉浸式关卡和可以直接进入游戏的自由漫游模式。
在游戏中,玩家将通过利用可交互操控功能,提升自己的驾驶技巧和战斗技术,学会在游戏中驾驶飞行摩托并攻击敌人。
玩家的游戏角色是被称为Ground Runner的拾荒者,工作是驾驶高科技飞行摩托搜刮采矿星球,寻找极其强大又抢手的Torsion Crystal,与此同时应对不断的追捕。
《Ground Runner: Trials》的游戏世界始于覆盖10平方公里的伦敦城市数据。最开始的目标是开发基于飞行摩托战斗的竞技游戏。该游戏最初是多人游戏,但由于开发团队只有二人,我们很快意识到这样做有点自不量力,特别是该游戏还要面向VR平台开发。
我们花了不少时间来构建原型并找到合适的游戏玩法。飞行摩托的移动和战斗过程在开发早期就已经出现,然而,艺术风格和游戏过程直到开发后期都没有确定。
我们希望使用80年代的科幻主题风格,因为我们知道对VR游戏的大多数玩家而言,这种风格更具有怀旧价值,当然作为开发者的我们也很喜欢这种风格。

构建游戏机制

我们希望探索和扩展玩家在VR中可以做的任何事情。由于快节奏移动效果很难实现,有些开发者会回避这种效果。我们想了几个实现方法,同时还让游戏区分开市场中其它战斗驾驶同时进行的游戏机制。
我们很早就想好了要加入逼真的操控功能。我们希望在游戏中加入大量开关和操控杆,并实现非常精致的交互式战斗和飞行体验。尽管移动过程通过载具完成,但游戏中没有任何竞速机制。
我们首先开发的是具有完全自由度的飞行体验。我们在游戏加入了二个气垫船和一个的本地多人FPS游戏,但进展不是很顺利。在游戏中,飞行器充斥整个世界,玩家没有足够的可视环境来确定自己在游戏世界中的位置,被敌人追逐时容易产生呕吐感,而且玩家需要不断向四周查看,无法专注于前方的情况。
我们识别出了容易让玩家产生不适感的多个实例。出于热爱,我们为该游戏付出了很多,承受着不适感带来的苦痛,但好在游戏在我们的努力下越来越好。我们发现让玩家专注载具前方的方法是让载具变得极其灵活。
我们要让玩家向前看,而不是向四周或背后看。我们需要限制玩家的视觉自由度,所以移除了横摇和纵摇功能。我们将玩家置于地面,这样的效果很受玩家欢迎,还大幅减少了眩晕感。此时,我们发觉我们无法实现多人游戏机制,因为游戏包含追逐要素,所以只能开发单人游戏。
眩晕感会在玩家所看到的内容无法与大脑的预期同步时产生。通过结合使用PID控制器和Unity引擎,我们严格控制了玩家在游戏中的运动。这种方法实现了运动噪声的低通/高通滤波器。
当玩家在游戏中适应VR环境时,不仅能适应得更快,而且还能在VR环境中留得更久。游戏里的运动是持续性的,因此玩家能够在大脑中构建用于预测画面的运动模型,从而大大降低晕眩感的程度。

建模和光照

在开始的早期测试版本中,网格的优化程度不高,游戏可以在高端机器上很好地运行,而后在开发过程中,我们针对较低端和入门级VR设备进行了优化。
LODding(细节层级)功能提供了重要帮助,我们能够根据运行设备保持高网格密度,因为我们有一个系统可以获取对象分组,并将远处材质重新构建到简化的网格LOD中。
我们可以把远处的LOD结合到超级LOD中。这样一来,就能实现合适的绘制距离和细节层级。我们还在开放式地图中利用了Unity的遮蔽剔除功能。
理解Unity正向渲染管线的光照工作原理也非常重要。光线可以按屏幕绘制的平面数量翻倍,实际效果和阴影有关。
当需要绘制阴影贴图时,每个光线都要绘制到深度缓冲区。由于VR已经以绘制的平面数量翻倍,小型场景很容易产生高昂的性能消耗。所以我们烘焙了除直射光外的所有光线,在最新版本中,甚至还烘焙了直射光。
这些效果的实现离不开Unity的新功能Shadow Mask阴影遮罩。阴影遮罩本质上是烘焙贴图,它会定义阴影的位置。所有着色器的效果都差不多,就像使用了静态的实时阴影一样。然而在此之前,PBR材质的效果不同,所有对象看起来都是平面的。通过使用阴影遮罩,我们实现了更强的真实感。

飞行摩托

在最初的竞技游戏中,我们打算使用赛博朋克和摇滚风格模型,大致上和《Cyberpunk 2077》相似。我们原打算使用旧式摩托并将轮子换成悬浮垫,但问题在于,我们不想使用摩托的把手,而且摩托上没有足够的驾驶座放置玩家。所以我们使用了带有驾驶座和三个气垫的气垫船。
在开始处理地面的移动时,我们又将载具改为了摩托,因为我们很喜欢这种结构,而且它也非常有趣。我们首先在3ds Max中建模摩托,从摩托框架开始。我们不断添加和调整面板,直到有了不错的操作界面,然后再加入所有细节。我想让摩托看上去像是使用旧机器组装的。
悬浮垫是高级离子升降器的必要组件。离子升降器由小型轻质木材和锡箔装置组成,锡箔装置会形成不对称电容器。通过向电晕线和箔裙加入高压电,由于空气中的电子被剥离,装置会产生离子风并得到充能离子,通过静电的吸引和排斥,离子会向箔裙加速移动,然后以弹道方向冲击中性空气分子,从而产生运动的推力。
想法是使用磁流体动力学在气流中产生强大的扭矩,从而调整气流方向和磁场。所以理论上说,我们或许在30年内就能在现实中看到这种飞行摩托的出现。

测试游戏

游戏的多数测试是面向公众进行的。在参加伦敦的Develop VR大会时,我们和约50名玩家进行测试,结果70%的玩家反映出现了晕眩感,情况不是很好,但是所有人都很喜欢游戏内容。
我们受邀在Unite 2017上展示《Ground Runner: Trials》,50名玩家测试了游戏,这次测试的结果是,70%的玩家没有感觉到晕眩。
随后,我们在参加开发研讨会时,根据公众反馈处理了UV,运动和游戏过程,玩家能在我们的游戏中找到乐趣和舒适感,并且会反复游玩。此时反映出现晕眩感的玩家只占5%~10%。
我们还想在早期测试阶段了解游戏得到的评价,并继续根据玩家反馈进行更新。《Ground Runner: Trials》是一款具有丰富交互、快节奏移动和动作的游戏,不少玩家非常热爱它,在将游戏实现到这一状态的过程中,关键要素是玩家的反馈,更重要的是根据反馈内容对游戏进行调整。

VR游戏开发体验

在VR中做未经证实和测试的事情非常困难,这是开发时的最大挑战。由于团队规模只有二人,我们可以非常灵活,但同时也带来了工作负担的问题。
我们认为VR游戏最重要的三个因素是:用户体验的舒适度,影响美术和游戏性的技术要求,以及寻找合适的关卡设计布局。相较于普通游戏,最后一个因素在VR游戏中尤为重要。

小结

如果你喜欢这款游戏,你可以在Steam VR或Oculus官网购买适用于Oculus Rift、VIVE和Windows Mixed Reality的《Ground Runner: Trials》游戏。
《Ground Runner: Trials》的完整游戏时长约在2~3个小时,该游戏是当前VR技术水平的体现,我们相信VR未来将由目前的技术进一步发展。当VR市场进一步壮大,而且VR硬件大量普及后,游戏行业的未来会变得更好。
更多Unity精彩项目开发经验分享,尽在Unity官方中文论坛(UnityChina.cn)。
Unity China
664
Comments