0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是鸿蒙分布式游戏?为什么要做分布式游戏?

lhl545545 来源:快科技 作者:上方文Q 2021-01-30 09:49 次阅读

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

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

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

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

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

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

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

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

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

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

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

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

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

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

但是这方案有两个缺点:

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

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

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

4、突如其来的灵感

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    215

    文章

    34246

    浏览量

    250936
  • 鸿蒙
    +关注

    关注

    57

    文章

    2301

    浏览量

    42681
  • 智慧屏
    +关注

    关注

    2

    文章

    355

    浏览量

    19668
收藏 人收藏

    评论

    相关推荐

    鸿蒙开发接口数据管理:【@ohos.data.distributedData (分布式数据管理)】

    分布式数据管理为应用程序提供不同设备间数据库的分布式协同能力。通过调用分布式数据各个接口,应用程序可将数据保存到分布式数据库中,并可对分布式
    的头像 发表于 06-07 09:30 859次阅读
    <b class='flag-5'>鸿蒙</b>开发接口数据管理:【@ohos.data.distributedData (<b class='flag-5'>分布式</b>数据管理)】

    HarmonyOS实战案例:【分布式账本】

    Demo基于Open Harmony系统使用ETS语言进行编写,本Demo主要通过设备认证、分布式拉起、分布式数据管理等功能来实现。
    的头像 发表于 04-12 16:40 1247次阅读
    HarmonyOS实战案例:【<b class='flag-5'>分布式</b>账本】

    鸿蒙OS 分布式任务调度

    鸿蒙OS 分布式任务调度概述 在 HarmonyO S中,分布式任务调度平台对搭载 HarmonyOS 的多设备构筑的“超级虚拟终端”提供统一的组件管理能力,为应用定义统一的能力基线、接口
    的头像 发表于 01-29 16:50 436次阅读

    什么是分布式架构?

    分布式架构是指将一个系统或应用拆分成多个独立的节点,这些节点通过网络连接进行通信和协作,以实现共同完成任务的一种架构模式。这种架构模式旨在提高系统的可扩展性、可靠性和性能表现。 一、分布式架构的特点
    的头像 发表于 01-12 15:04 1122次阅读
    什么是<b class='flag-5'>分布式</b>架构?

    鸿蒙原生应用开发——分布式数据对象

    01、什么是分布式数据对象 在可信组网环境下,多个相互组网认证的设备将各自创建的对象加入同一个 sessionId,使得加入的多个数据对象之间可以同步数据,也就是说,当某一数据对象属性发生
    发表于 12-08 10:01

    分布式系统硬件资源池原理和接入实践

    提供更好的服务体验。 图 3 鸿蒙硬件资源池支持各类消费者场景 2.2 开发者场景 对于开发者来说,由于分布式硬件资源池将跨设备硬件调用的复杂度都封装在了系统底层,跨设备硬件复用本地硬件的 API
    发表于 12-06 10:02

    redis分布式锁的缺点

    Redis分布式锁是一种常见的用于解决分布式系统中资源争用问题的解决方案。尽管Redis分布式锁具有很多优点,但它也存在一些缺点。本文将从几个方面详细介绍Redis分布式锁的缺点。 精
    的头像 发表于 12-04 14:05 1168次阅读

    如何实现Redis分布式

    Redis是一个开源的内存数据存储系统,可用于高速读写操作。在分布式系统中,为了保证数据的一致性和避免竞态条件,常常需要使用分布式锁来对共享资源进行加锁操作。Redis提供了一种简单而强大的分布式
    的头像 发表于 12-04 11:24 632次阅读

    redis分布式锁三个方法

    Redis是一种高性能的分布式缓存和键值存储系统,它提供了一种可靠的分布式锁解决方案。在分布式系统中,由于多个节点之间的并发访问,需要使用分布式锁来保证数据的一致性和避免冲突。本文将介
    的头像 发表于 12-04 11:22 1374次阅读

    zookeeper分布式原理

    Zookeeper是一个开源的分布式协调服务,可以用于构建高可用、高性能的分布式系统。它提供了一个简单且高效的层次命名空间,可以用来存储配置信息、状态信息、命名服务等。Zookeeper的设计目标
    的头像 发表于 12-03 16:33 598次阅读

    分布式通信是什么 分布式网络搭建

    智能机器人的功能繁多,全都放在一个计算机里,经常会遇到计算能力不够、处理出现卡顿等情况,如果可以将这些任务拆解,分配到多个计算机中运行岂不是可以减轻压力? 这就是分布式系统,可以实现多计算平台
    的头像 发表于 11-27 15:49 719次阅读
    <b class='flag-5'>分布式</b>通信是什么 <b class='flag-5'>分布式</b>网络搭建

    Java手写分布式锁的实现

    随着互联网业务的发展,原本单机部署的系统演化成如今的分布式集群系统后,由于分布式系统多线程
    的头像 发表于 11-17 15:51 527次阅读
    Java手写<b class='flag-5'>分布式</b>锁的实现

    什么是分布式直流电源?分布式直流电源的范围 分布式直流电的特性

    什么是分布式直流电源?分布式直流电源的范围 分布式直流电的特性  分布式直流电源(Distributed DC Power Supply)是指分布
    的头像 发表于 11-16 11:17 1052次阅读

    springcloud如何实现分布式

    Spring Cloud是基于Spring Boot开发的一套分布式系统解决方案,它主要包括了多个子项目,如服务注册与发现、配置中心、负载均衡、断路器、路由等等。通过使用Spring Cloud
    的头像 发表于 11-16 11:01 633次阅读

    springclould分布式教程

    Spring Cloud是一个基于Spring Boot的分布式系统开发工具,它提供了一系列的分布式系统解决方案,可以帮助开发者快速构建和部署分布式应用程序。本文将介绍Spring Cloud
    的头像 发表于 11-16 10:59 450次阅读