资讯
展览资讯 大型展会 灯光节 大型盛典 赛事 中标捷报 产品快讯 热门话题 艺术节 活动 演出 新闻 数艺报道 俱乐部签约
观点
大咖专访 观点洞察 书籍推荐 吐槽 设计观点 企业访谈 问答 趋势创新 论文 职场方法 薪资报价 数艺专访
幕后
幕后故事 团队访谈 经验分享 解密 评测 数艺访谈
干货
设计方案 策划方案 素材资源 教程 文案资源 PPT下载 入门宝典 作品合集 产品手册 电子书 项目对接
  • 0
  • 0
  • 0

分享

BigBox VR:多人联机VR游戏的10个开发建议

2022-02-09

Esther|编辑

相比于单机游戏,一款多人VR游戏可能遇到更多挑战,比如用户基础、运行速度、体验感等等。在Quest带领下,VR用户人数持续增长,多人VR游戏的春天似乎已经开始,VR吃鸡游戏《Population:One》上线Quest仅几个月时间,营收就已经突破1000万美元。

据青亭网了解,《Population:ONE》首发时的刷新率达到72FPS,地图面积1x1千米,支持24个玩家同时竞技。实际上,72FPS是Quest 1的最高刷新率,而Quest 2最高可提升至120FPS,因此未来该作是否将支持更高的刷新率也值得期待。

有了足够的用户基础后,那么如何流畅、快速运行大规模的VR游戏地图,则曾为该作开发者BigBox VR致力于解决的问题。在不久前举行的FC大会期间,BigBox与Meta VR内容团队的开发者关系工程师Cristiano Ferreira一起,分享了开发多人VR游戏的建议和经验,值得开发者们借鉴。

据悉,Ferreira主要负责帮助开发者提升VR游戏的运行速度、流畅性,让VR游戏的刷新率达到Quest标准。而《Population:One》美术与技术负责人Greg Chudecke,过去20年一直从事优化、编写游戏的引擎和工具,曾为PS 3、Gear VR开发游戏。另一位Gabe Brown则是BigBox联合创始人。

Brown表示:我们为Quest 1研发的VR游戏原型,成为了后来《Population:ONE》更新迭代的基础。在迭代过程中,我们总结了十项经验:

1,Quest端渲染架构:基于图块的渲染架构TBR(Tile-based render)对比即时模式架构IMR(immediate mode rendering)

《Population:ONE》开发团队的宗旨是,“根据硬件去优化,而不是与之对抗”。因此,为了在Quest一体机上流畅运行多人VR游戏,该作采用了TBR渲染架构,好处是简化了整个渲染流程,而且渲染质量高、节省算力、运行速度更快、降低散热。

不过,TBR架构的渲染效果受到带宽限制,因此显存架构也需要基于图块,而不是实时运行完整的系统存储。

IMR为一体式系统,每一帧都直接渲染、运行设备显存。而TBR则是仅渲染每一帧调用的像素,而且每一帧还会分成多个图块,分别渲染。TBR架构分为两部分,即分块和渲染。换句话说,TBR适用于移动设备,而IMR则是传统台式机采用的GPU架构。

2,降低Drawcall次数和渲染状态变化(Setpasses),也与TBR渲染架构有关

Chudecke表示:渲染游戏过程中每次Drawcall所需的时间不同,与渲染状态的变化程度有关。为了减少渲染状态变化,开发团队采用了一种单一的着色器(Uber Shader)。此外,该作的光照模型仅采用一个定向光线。也就是说将画面中的各种变量固定,这样渲染状态将只有一次变化。

3,分层细节级别渲染系统(HLOD)

Chudecke表示:HLOD系统是在Quest上流畅运行大规模VR场景的关键。HLOD系统指的是,大规模网格模型组通常具备较少的细节,而单独的网格模型则具有更多细节,所以前者drawcall次数更少。

而为了批量渲染大规模VR环境,开发者将游戏的背景分成多个网格组(一次drawcall可替代每个独立网格模组的drawcall次数),进一步降低drawcall,从而提升渲染效率。

此外,远处的场景通常不那么清晰,因此不需要渲染那么多细节和色彩。换句话说,《Population:ONE》在VR玩家眼前用Uber着色器来渲染画面细节,而远处则只用Uber着色器来渲染顶点。远近不同程度的细节可以自然融合,就像是在现实生活中,人眼前的画面比远处要更清晰。

4,优化主线程:使用Burst Complier优化渲染流程,多线程渲染

将一些计算任务交给服务器,然后串流至VR客户端中,比如第三人称角色动画,以及手肘、手、头部的反向动力学计算等等。不过,这种方案需要考虑到带宽占用率。

《Population:ONE》采用了一个自定义的贴图、粒子系统,该系统的特点是仅在GPU上运行,通过计算着色器来渲染。

5,将渲染任务分配给多帧图像

Ferreira表示:Quest 1刷新率足够高,可达72Hz甚至高达90Hz。因此,或许可以将VR游戏渲染任务分配给多个图像帧。通常,VR游戏的默认刷新率在30-60fps之间,而大多数商用游戏引擎默认每一帧图像都更新。不过,开发者可以手动设置图像更新频率,比如每三帧更新一次等等。

在《Population:ONE》中,开发者尽量限制动态目标的更新率,也就是说每帧主线程的LOD(细节级别)变化限制在1到2次,以避免卡顿、延迟。此外,游戏角色的更新频率也根据距离有所变化,1公里远的角色比玩家附近的角色更新频率更少,这样的好处是节省带宽,同时提升刷新率。虽然不是每帧画面都更新,但大多数肉眼难以察觉。

6,GPU实例化

一次Drawcall调用多种像素,好处是省去驱动验证的时间。只需要一组由多块模型组成的网格就能渲染树木、窗户等物体。

7,严格控制内存占用率

Brown表示:为移动VR平台开发内容的另一个挑战是,需要严格控制内存使用率。Quest采用了一种共享的内存模式,也就是说系统和图形缓存都使用同一个存储空间。因此,如果不严格控制内存占用率,VR游戏将很快用尽VR一体机的缓存。

于是,BigBox利用Unity引擎的addressables框架来降低VR游戏的内存占用率,原理是在线下异步载入资源,以控制载入、卸载资源的时间。Brown表示:addressables框架深度集成在《Population:ONE》角色、枪支的资产流程中。

8,避免后期特效渲染,这是出于对GPU存储的考虑,而且TBR框架还得重新设置

同时,也不支持抗锯齿、固定注视点渲染优化功能,视觉效果无法提升。

建议优化VR中移动时遮挡余光视觉的阴影,即:从边缘至视觉中心透光度逐渐增强,也就是说最边缘完全不透光,而到了视觉中心阴影越来越透明,与中间的视觉自然过渡。不过,如果渲染这种效果的每一个像素成本较高,也许可以设置两个网格,一个是纯黑的,另一个半透明(去除中间注视点位置),两个网格根据距离来调整中间透光区域的大小。

9,测试基准是关键

早期,为了测试《Population:ONE》的基准,BigBox邀请到18人测试这款游戏,每天游戏时长达8小时。为了减少测试时间,BigBox定制了18台用于测试游戏的Quest 1(集成录制游戏过程的摄像头),可以将基准测试时间降至20分钟,是原来的五分之一。此外,BigBox还使用机器人来测试游戏。

10,利用Oculus提供的RenderDoc来验证VR游戏渲染方式的有效性,优化应用

该工具为开发者提供多项验证指标,包括图块热图、图块时间线、性能统计数据等等。

参考:

https://www.facebook.com/watch/?v=556385135467325

( END)


 
   推荐阅读    




 
每天五分钟,轻松了解前沿科技。    
         —— 青亭网  
阅读原文

* 文章为作者独立观点,不代表数艺网立场转载须知

本内容由数艺网主动采集收录,信息来源为 “青亭网” 公开网络发布内容。第三方如需转载本内容,必须完整标注原作者信息及 “来源:数艺网”,严禁擅自篡改、删减或未标注来源转载。 并附上本页链接: 若您的内容不希望被数艺网收录,或认为此举侵犯了您的合法权益,敬请通过微信 ID:d-arts-cn 联系数艺网。我们将致以诚挚歉意,并第一时间为您办理下架或删除处理。

数字媒体艺术 新媒体艺术 科技艺术

12768 举报
  0
登录| 注册 后参与评论