欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

华为揭秘鸿蒙OS:分布式游戏诞生的秘密

程序员文章站 2022-08-31 09:58:43
“鸿蒙”(harmony)无疑是近期以来最为热点的话题之一,而在技术层面上,“分布式”又是鸿蒙最核心的关键点之一,无论应用还是游戏都与之息息相关。。刚刚...

“鸿蒙”(harmony)无疑是近期以来最为热点的话题之一,而在技术层面上,“分布式”又是鸿蒙最核心的关键点之一,无论应用还是游戏都与之息息相关。

刚刚发布的华为智慧屏s系列,就搭载了最新的鸿蒙系统,还上线了分布式游戏。这不但是华为智慧屏s系列的一个重要功能,也是鸿蒙系统分布式娱乐的典型应用场景。

今天,华为就展示了平常难得一见的研发中心,并介绍了鸿蒙分布式游戏的前世与今生。

1、什么是鸿蒙分布式游戏?

鸿蒙分布式游戏是华为智慧屏的一个重点功能,通过分布式能力,反向调用手机陀螺仪和触控等能力来操控游戏,延时低至30毫秒。

比如赛车类游戏的变向、转弯等操作,都可以通过手机陀螺仪完成,一些按键操作类的游戏,也可以自定义虚拟按键来操控。

简单来说,就是智慧屏上运行游戏,手机当游戏手柄。

2、为什么要做分布式游戏?

玩游戏,自然屏幕越大视觉效果越震撼,但是在移动端,屏幕大小是有限制的,不可能和pc、主机相媲美。

不过,在大屏上玩游戏,最大的挑战是需要找到合适的操控方式。

除了传统的键盘、鼠标、手柄,能不能用手机对大屏进行游戏操控呢?手机人手一部,无需额外购买,代替手柄功能的话又省了一笔钱。

3、手机操控大屏游戏的拦路虎

华为此前的智慧屏x65已经可以通过镜像操控技术,将智慧屏的屏幕镜像投射到手机侧,然后用户可以通过手机操作对大屏进行控制。

那么,是不是也可以在玩游戏时,用手机控制,用大屏显示呢?

但是这方案有两个缺点:

一是手机侧按钮无反馈,在操控的过程中用户往往不知道手指在大屏上触控的位置,无法获得跟对着手机操作一样的视觉画面;

二是目前只使用了手机屏幕的触控能力,与ps4、xbox等主机游戏的手柄相比,操控形式上更显单一化,容易让用户感到乏味。

于是,如何增强大屏游戏的感官体验,让用户更有身临其境的感觉,就成了关键点。

4、突如其来的灵感

研发过程中,华为工程师意外找到了一套理论模型:

学术界有较多的针对橡皮手幻觉(利用橡皮手的处理来研究人体对身体的归属感)、虚拟手幻觉(利用虚拟手的处理如何影响人的心理感知)的研究结果,任何模型都能引起参与者的感知,感知效果最强的是跟人手最接近的模型。

简单来说,采用最真实的手外观能引起用户更强烈的真实拥有感。

那么,如果能在大屏上显示出手指触摸形状,用户对大屏游戏的触控操作体验肯定会有提升巨大。

相比于系统自带通过类似鼠标的指针显示手触摸位置,直接在大屏上虚拟绘制出手指,可以达到更逼真的效果,让用户的感知体验更加强烈。

去年9月份,研发团队确立了目标,将最终上线时间瞄准在12月上市的智慧屏s系列,因此留给开发的时间只有三个月,而除去安全送检等流程,真正的开发时间只剩下一个月。

5、“九九八十一难”的开发之路

技术上的第一难题便是如何将手机上获取到的触摸信息发送给大屏,初期尝试过多种不同的实现方案,但都因为存在各种问题而被否定。

在整体进度停滞不前之际,有人想到,既然智慧屏app之前已经建立过与大屏的传输通道,为什么不直接将手机上获取到的触摸事件(触摸屏上的触摸动作)通过网络的方式传输给大屏呢?

结果,第一版demo证明效果很差,手指的时延达到2秒甚至更长,几乎用不了!

竞购各种努力,终于成功将端到端时延控制在了30毫秒以内,正常使用下几乎感受不到延时。

此外,为了使绘制手指的呈现效果更加真实,研发团队进行了大量的实际操控测试,并通过视频记录下操作时手指点击不同区域的形态加以研究,开发出了一套只需要根据用户点击位置,就能推算出手指形态位置的逆向生成算法。

根据手指在屏幕的位置,就可以区分手指的左右手,并且会依据上一帧的手指信息,推算当前帧的信息。

此外还有一新的问题,就是在实际的游戏操作体验中,如果快速点击屏幕,手指会不停的闪烁,严重影响用户体验。

为此,开发团队加入了手指消影技术,即手指在抬起的时候会逐渐消失,整个手指从按下到抬起较为流畅,提升了整体显示的滑动感,提升用户的使用体验。

开发团队还选型了上百种手指的图形,每一种都经过研发团队、视觉团队以及众多“体验官”反馈,优化在大屏上显示的效果。

目前,《一起来飞车》《*疯狂赛车》等分布式游戏已经正式在华为智慧屏应用市场上线,后续还会陆续上线更多游戏。

- the end -

转载请注明出处:快科技