您正在访问: 网站首页 >> 资讯中心 >> VR/AR >> 正文

如何最大化利用CPU性能创作沉浸式VR体验

文章来源:yivian 作者:【未知】 点击:次 时间:2018/2/6 13:26:08
2018年02月06日,在三年多的时间,我有幸负责管理一家名为Chronosapien的工作室,而我们主要是通过新兴技术组件来创建交互式内容。我们涉足了大量不同的技术,但VR已经成为了我们最关注的领域,所以我们开始了一个名为“Shapesong”的项目。 从许多不同的角度来看,“Shapesong”项目都是一次十分独特的经历。但其中一个最有趣的方面是,我们一直在学习如何最大化系统性能,同时不停地适应不断发展的媒介。在这篇文章中,我希望向大家分享如何制作一个可信和引人入胜的VR环境,包括从硬件角度来出发,尤其是CPU。 1. 全新的期待 随着第一代设备在2016年出现,普罗大众开始第一次接触到VR体验。由于虚拟现实是一种更为自然的用户界面,所以人们对待它的方式与传统媒体设备不同。我们期望VR中的内容和体验能够足够自然。例如,当用户第一次穿戴VR设备的时候,他们不会先问“我应该要按下什么按钮?”,而是会问“我的双手在哪里?”。当传送至虚拟环境中时,用户不会询问他们应该做什么,他们立即开始触摸对象,拾取对象,以及传统计算机程序用户所无法想象的其他交互。 当期望无法得到满足时,真实感就会被打破,而虚拟现实的幻觉则会瞬间消失。用户不再是身处于虚拟现实之中,他们只是通过透镜来感知一个数字模拟,周围则充斥着毫不掩饰的设计元素和脚本化场景。 虚拟现实存在一系列不涉及构建虚拟环境的用例。但如果VR应用程序的目标是沉浸和传送,作为开发者和设计者的我们就必须创建一个栩栩如生的世界,能够像我们的物理世界那样响应用户。这意味着我们要创建一个可以改变和转换的环境,创建可以抓取和投掷的对象,以及创建可以塑造和变形的工具。 这就是下一代交互式体验,一个栩栩如生的虚拟世界。对此,用户自然而然地期望他们可以像物理世界一样与虚拟世界进行交互,但他们忽略的是沉浸感和交互性背后的所有计算。开发者的责任是利用现有工具和技术实现这种逼真的虚拟世界,但他们的力量有限。在某些时候,他们需要利用更高性能的硬件来实现目标。 这是我和我的团队所面临的挑战。在开发VR体验“Shapesong”的时候,我们学习到创建沉浸感所需的一切,我们知道如何才能实现这一点。但交互性和沉浸感的广度是如此之大,而计算资源在传统系统上又是如此受限制,我们被迫进行权衡选择,或者发挥自己的创意。这种感觉就像是把一根吸管塞进一块石头。 在本文中,我希望与大家探讨“Shapesong”在什么方面为CPU性能施加了压力,这对用户有什么影响,以及为什么功能更强大的CPU能够加强沉浸感。我的目标是帮助大家更好地理解高端VR系统在实现这种高度沉浸感体验中的优势。 2. “Shapesong”是什么? 首先,我们先来看看什么是“Shapesong”。“Shapesong”是我们面向下一代音乐交互式体验的解决方案。用户可以自由探索音乐环境,发现可以用于虚拟乐器中的声音,创建可以舞动和游乐的歌曲,以及与自己或其他人的克隆体一起演奏音乐。我喜欢把它简单描述为《幻想曲》与《查理和巧克力工厂》在一个共享虚拟世界中的结合。 我们对“Shapesong”的目标是创造一个能够以音乐形式游乐的完整世界,并支持用户通过他们发现的环境与乐器来制作出属于自己的体验。我们同时试图创造一种融合视觉和音乐表演的联觉体验,让表演者和观众都能完全沉浸其中。 体验存在大量需要设计和实时控制的方面,所以运行“Shapesong”的系统功能变得尤为重要。 3. 创建一个音乐世界 虚拟现实要求的帧率达到90fps,或者说每帧11毫秒。与之相比,传统体验的帧率为30FPS,而且在特定位置低于30FPS也不会造成重大影响。但虚拟现实却非如此。VR实际上需要渲染两个版本的场景,一个左眼一个右眼。尽管要求存在一定的例外,而且存在可以利用的辅助技巧,但毫无疑问的是VR对计算的要求十分严格。 我们为“Shapesong”设计了一系列特定的功能,而这对VR系统提出了更加严格的性能要求。从技术的角度来看,“Shapesong”是数字音频工作站 (DAW) 和游戏在虚拟环境中的结合。这三者均对CPU提出了巨大的计算负担。下面我们不妨来看看“Shapesong”中完全依赖于CPU性能的部分。 3.1 音频处理 作为一款音乐游戏,“Shapesong”需要处理大量的音频。除了对环境,玩家和UI声音进行基准渲染以外,我们还会在不同时间段播放与乐器相关的声音。事实上,多个乐器的平均音频处理负载是基准(只演奏一件乐器时)的20倍。 这是乐器的幕后工作原理。如果你希望在乐器上演奏一个声音(或者说一个音符),你需要播放这个音符的音频片段。从某些方面来说,完整的钢琴包含88个可以在特定时间内弹奏的不同琴键(或者说音符)。如果你在“Shapesong”中弹奏类似的虚拟乐器,你最多可以同时播放88个不同的音频片段。然而,这是假设了每个音符在同一时间段只弹奏一个活动音符(或者说声音),但对“Shapesong”而言情况并不总是如此。 除了基于音频片段的乐器演奏方法外,我们还可以通过另一种方法来演奏乐器:声音合成。但声音合成不能代替采样(sample),而且这需要独特的处理负载。我们希望“Shapesong”能够支持两种方法,从而在弹奏音乐时可以实现最大的灵活性。 3.2 环境效果 我在上文已经提到,我们希望在“Shapesong”中实现视觉和音乐表演的结合,从而实现全新的音乐体验。所以,播放的音乐需要与环境中的视觉效果保持同步。 大多数人认为游戏或体验中的所有图形都是由GPU渲染,但实际上CPU图形渲染管道上扮演十分重要的角色,因为绘制调用是由CPU所执行。绘制调用本质上是指CPU确定图形任务并将其发送到GPU的过程。总的来说,当存在需要绘制到屏幕的独特任务时,系统将需要CPU执行绘制调用。 在Unity中,“Shapesong”引擎和绘制调用在一个名为“批量处理”的流程中得到了优化。批量处理采集相似的绘制调用,将它们聚集到单个调用,然后再发送至GPU,这能够极大地节省计算时间。但Unity只有在特定条件下才会对调用执行批量处理,而其中一个条件是所有对象都共享相同的材料。另一个条件则是批量处理对象必须全部静止,不能够改变位置或以任何方式运动。对于静态环境而言(比方说共享相同材料的200棵树),批量处理的效果非常优秀。但如果你希望每一颗树都对玩家输入或音乐演奏产生独特的响应,批量处理将无法起到相同的作用。 无论虚拟世界是否需要响应音乐,这对创建栩栩如生的虚拟世界而言提出了巨大的挑战。如果无法移动或改变某个场景中的对象,我们应该如何令这个场景变得栩栩如生呢?现实情况是,你不得不权衡需要进行生动演示的部分,而且在实现方式上发挥自己的创意(这也是游戏开发所普遍面临的一个长期问题)。正如我在前文所说,传统体验和下一代体验的区别在于用户的期待。
< 1 2
关注有惊喜!
中国优发国际网:此内容转载于合作媒体或互联网其它网站,中国优发国际网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述
新闻、技术文章投稿QQ:928246603 邮箱:news@cnelc.com

网友评论已有人参与评论

用户登录  注册新用户  忘记密码?
本站声明:严禁任何单位和个人模仿、转载、抄袭及冒名中国优发国际网(cnelc.com)中国优发国际网 | 诚聘英才 | 关于我们 | 会员服务 | 广告服务| 意见/业务 | 帮助中心 | 在线投稿 | 友情链接 | 联系我们 |网站地图客服1:点击这里给我发消息 客服2:点击这里给我发消息 客服3:点击这里给我发消息 战略合作:点击这里给我发消息 新闻投稿:点击这里给我发消息中国优发国际网服务热线:400-688-6377 合作电话:021-39983999 传真:021-39983888 邮编:201812 信箱:cn@cnelc.com新闻投稿邮箱:news@cnelc.com上海总公司地址:上海 金园一路999号(中国优发国际大厦) 法律顾问:浙江海昌律师事务所 江律师上海易电网络科技有限公司 版权所有 2012-2017增值电信业务经营许可证
沪ICP备10003932号-15
优发国际