虚拟现实持续升温,却迟迟没有大规模市场化的迹象。除了屏幕分辨率,内容不足等问题,很大一部分原因,就在于VR设备令人诟病的不适感,我们姑且称之为VR晕眩症。
诚如Valve的游戏设计师Chet Faliszek所说,VR晕眩症不是设备的错。设备之所以没能实现90FPS刷新率的主要原因,在于游戏运行效率低下,设备引擎与游戏可执行文件不匹配。
解决问题的关键在于动态数字信号与眼部、头部运动的匹配,最好也是最简单粗暴的办法是提高刷新率
对此,很多VR公司设计慢节奏的游戏来避免这一问题,但这不是长久之计。旧金山的一家新公司——MaxPlay,把提高刷新率这种简单粗暴的方法玩出了新花样。
MaxPlay基于云技术构建了一个云端游戏引擎和VR平台,为开发者提供VR开发工具,帮助他们实时协作,创建、快速测试、发布、运营、快速迭代VR游戏,号称“为游戏开发商设计的谷歌Docs”。
在2016的GDC上,MaxPlay在英特尔展位上展示了自家的可扩展数据并行计算兼渲染算法——MaxCore,展示了解决VR晕眩症的可能性。
MaxPlay解决VR游戏眩晕的三个路径
MaxPlay的可扩展数据并行计算兼渲染算法MaxCore,通过巧用多核处理器、多种光源模型以及独特的数据压缩技术,在解决眩晕上迈出了重要一步。
1. 巧用多核处理器
多核处理器的概念虽不新颖,却很少有设备真正将多核的并行运算发挥到极致。大多数传统的游戏引擎将大部分的工作集中在1-2个内核上,也就是说,最好的情况不过是有两个全效内核。
MaxCore针对四核,乃至八核处理器。其数据并行计算算法通过系统分级和数据分组,将工作量分摊到所有的内核上,从而获得完整的数据并行效率。
测评显示,这种算法下设备所有的CPU功率都没有出现浪费,画面/帧刷新率是Unreal的12倍,Unity的41倍。
2. 多种光源模型
对于大部分开发者来说,沉浸式VR的真实感有一个普适的指导原则:有意识的感知。也就是说,必须要有高分辨的显示、大量多边形、物理渲染和光源。
MaxCore的Forward+ (Light Indexed Deferred,光源迟滞索引寻址) 系统,为单个游戏场景提供了成百上千个光源,从而在渲染过程中减少图片缓冲存储。也就是说,能在降低计算功率的同时获得写实的图像。
设计过程中,素材和光源在所有场景中都是可以重复使用的。游戏开发者可以将实际光源设为一个粒子,能够随心所欲地将其半透明化。
MaxPlay’s Origami Sky Demo
3. 数据缩减技术
很多人可能听说过重复数据删除算法,即删除数据集中重复的数据,只保留其中一份,从而消除冗余数据。
MaxCore在传统的针对两眼市场进行分别计算的引擎基础上,引入数据缩减技术,与重复数据删除算法颇有些异曲同工,称之为Shared Data Rendering(共享数据渲染)。
Shared Data Rendering根据每眼的偏移量,获得重复的屏幕显示数据,避免左右眼视图重叠部分的重复计算,从而降低对终端计算能力的要求。
游戏宅组成的创业团队
Maxplay的CEO是Sinjin Bain,在创立Maxplay之前,他曾是美国艺电(EA)的合伙人兼副总裁,更早的时候创立过PyroTechnix工作室并担任总裁。
而MaxPlay的首席技术官Matt Shaw也是游戏行业资深人士。在加入MaxPlay之前,他曾是BioWare Label、Mythic、SW:TOR(MMO)、W:AoR的CTO,擅长低成本、高性能的游戏运营。
目前,MaxPlay对自己的定位是未来的游戏开发平台,也就是说,核心卖点还是面向开发者的,高兼容的VR游戏实时协作编辑工具。
不过似乎,MaxPlay提出的MaxCore设备刷新率解决方案似乎更吸引人。