一种以Android原生游戏支持体感设备操控的适配方法与流程

文档序号:12468974阅读:532来源:国知局

本发明属于体感技术应用领域,特别是一种以Android原生游戏支持体感设备操控的适配方法。



背景技术:

目前,体感技术在游戏领域的应用已非常成熟,但在Android系统上大多数游戏的Android原生游戏还只能是用于支持触摸屏等传统输入设备的操控。到目前为止,还没有一套完整的让Android原生游戏支持体感设备操控的适配方法。

中国专利申请CN201310450974.5公开了一种“基于体感技术的游戏方法”,该方法的输入步骤包括:设置包括各操作的轨迹的行为库;设置体感设备,并在感应区域内定义一个虚拟空间;识别操作者的输入动作;操作者进行行动以输入行为信息;体感设备通过操作者的停顿判断单个动作输入结束;感受完一个动作后,感应虚拟空间上留下的行为;计算机将该动作与行为库中的行为进行特征匹配,列出匹配的候选行为,在计算机的智能选择下,选择出匹配度最高的预选动作。但还存在明显不足:一是该方案作为识别使用者动作的方法,因未给出将识别到的动作转换成具体平台操控的方法,特别是Android平台,且识别使用者动作的功能大多数体感设备的SDK已经提供,所以无法满足使具体平台适配体感操控;二是不能解决游戏菜单界面的操控,大多数游戏的菜单的界面都是需要鼠标或者触摸屏操控的,只是识别操控者动作,并不能完成游戏菜单界面的操控;三是不能支持原生游戏,原生游戏的操控依赖的是传统输入设备事件,仅是识别到操控者的动作,并不能支持原生游戏。

中国专利申请CN201410492045.5公开了“一种基于摄像头的体感识别系统”,该系统包括摄像头,所述基于摄像头的体感识别系统还包括识别模块,所述识别模块用于识别摄像头摄取的体感动作的类别。虽然该方案要解决体感系统如何更有效的与android和IOS平台融合的问题,但还存在明显不足:一是仅公开了用彩色摄像头提取操控者体感动作的方法,没有公开如何将提取到的体感动作转换Android和IOS平台操控的解决方法,所以无法满足使Android和IOS平台支持体感操控;二是该专利中提及的“解决体感系统如何更有效的与android和IOS平台融合的问题”,只是指的:比“应用于游戏的AIWI手机体感识别技术”准确,比“应用于微软公司的kinect及Xbox360等设备的体感识别技术”价廉,但准确率低。但是Android平台本身只支持传统input设备的操控,并不支持体感动作的操控,所以无法做到与Android平台融合。

中国专利申请CN103796058和CN104252261,分别公开了“一种基于虚拟输入设备实现对Android智能电视操控的方法”和“一种基于摄像头的体感识别系统和方法”,即使将这两个方案组合依然无法解决“没有游戏界面布局的识别,无法获取游戏按钮的位置”和“游戏操控和界面操控的分离,界面操控和游戏操控将相互影响”的问题。

综上所述,目前还没有一套完整的以Android原生游戏支持体感设备操控的适配方法。因此,如何克服现有技术的不足已成为基于深度图的体感技术应用领域中亟待解决的重点难题之一。



技术实现要素:

本发明的目的是为克服现有技术所存在的不足而提供一种以Android原生游戏支持体感设备操控的适配方法,本发明能够使Android原生游戏达到与体感游戏一致的操控感,给使用者带来绝佳的操控体验。

根据本发明提出的一种以Android原生游戏支持体感设备操控的适配方法,其特征在于,包括如下基本步骤:

步骤1,图像识别模块实时计算当前游戏界面的布局:事先找出要适配的游戏中所有的界面,将每个界面的布局写入xml文件,且截取一小块每个界面中独有的小图;运行时,实时获取当前界面,通过对截取的当前界面和事先截取的小图进行图像识别来判断当前界面是哪个界面,找出对应记录该界面的布局的xml来获取当前界面的布局;优化图像识别性能,达到30帧每秒的识别速度;

步骤2,界面操控模块从图像识别模块获界面布局信息:从图像识别模块获取当前游戏界面的布局,主要包括界面中按钮的位置信息;

步骤3,界面操控模块从体感设备获取右手操控坐标信息;通过体感设备SDK获取使用者右手的关节点位置信息和右肩的关节点位置信息,以右肩为中心虚拟出一个长方形;

步骤4,界面操控模块根据界面布局信息和操控坐标信息完成对游戏界面的操控:以整幅画面划分按钮感应区域;当操控坐标进入按钮感应区域,高亮对应的按钮;当高亮时,开始显示进度条计时,进度条完成度100%时即选中按钮;通过虚拟输入模块完成选中按钮;

步骤5,游戏操控模块从体感设备获取动作信息:通过体感设备SDK获得所要订阅的使用者动作反馈信息;

步骤6,游戏操控模块根据动作信息,通过虚拟输入模块完成游戏操控:游戏操控模块接受到从体感设备传来的使用者动作反馈,通过虚拟输入模块将其转化成游戏中人物对应动作。

本发明与现有技术相比其显著优点在于:

一是本发明集成体感设备技术、界面识别技术、虚拟输入技术与Android原生游戏于一体,构建了一套完整的Android原生游戏支持体感设备操控的适配方法,形成了完整的体系;通过本发明的适配方法所完成的原生游戏,无论是界面操控还是游戏操控都等同于真正的体感游戏,给使用者来带绝佳的操控体验。

二是本发明拥有图像识别模块,可以实时计算当前游戏界面的布局,配合界面适配模块,可以使普通的游戏界面实现体感游戏界面的操控。

三是本发明的实现无需修改Android系统,在有system权限的前提下,可以完全植入Android APK中应用。

四是本发明符合Liunx规范标准,广泛适用于任何Android平台。

附图说明

图1为本发明提出的一种以Android原生游戏支持体感设备操控的适配方法的流程示意图;其中:1a1为图像识别模块实时计算获得当前屏幕的界面布局;1a2为界面操控模块从界面识别模块获取当前界面布局;1a3为界面操控模块从界面操控模块从体感设备获取右手操控坐标信息;1a4为界面操控模块根据界面布局信息和操控坐标信息完成对游戏界面的高亮和进度条倒计时操作;1a5和1c1为界面操控模块根据界面布局信息和操控坐标信息完成对游戏界面的虚拟点击操作,把虚拟点击事件上报给AndroidFramework;1c2为AndroidFramework再把虚拟点击事件分发给游戏,最终点击游戏中的按钮;1b1为游戏操控模块从体感设备获取动作信息;1b2为游戏操控模块根据动作信息,通过虚拟输入模块完成游戏操控。

具体实施方式

下面将结合附图和实施例对本发明的具体实施方式作进一步的详细说明。

本发明的具体实施方式中的全部代号名称的定义说明如下:

Android是指一种基于Linux的自由及开放源代码的操作系统。

Liunx是指一套免费使用和自由传播的类Unix操作系统。

AndroidFramework是指Android系统的中间层,为应用层提供了一系列的服务和API的接口。

Input是指Linux的输入设备子系统。

sensor是指传感器设备,如加速度传感器或陀螺仪等。

Opencl是指一个面向异构系统通用目的的并行编程的开发式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码。广泛适用于多核心处理器、图形处理器、Cell类型架构以及数字信号处理器等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景。

gpu是指显示核心、视觉处理器或显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备上进行图像运算工作的微处理器。

结合图1,本发明提出的一种以Android原生游戏支持体感设备操控的适配方法,包括如下具体步骤:

步骤1,图像识别模块实时计算当前游戏界面的布局:事先找出要适配的游戏中所有的界面,将每个界面的布局写入xml文件,且截取一小块每个界面中独有的小图;运行时,实时获取当前界面,通过对截取的当前界面和事先截取的小图进行图像识别来判断当前界面是哪个界面,找出对应记录该界面的布局的xml来获取当前界面的布局;优化图像识别性能,达到30帧每秒的识别速度;

步骤2,界面操控模块从图像识别模块获界面布局信息:从图像识别模块获取当前游戏界面的布局,主要包括界面中按钮的位置信息;

步骤3,界面操控模块从体感设备获取右手操控坐标信息;通过体感设备SDK获取使用者右手的关节点位置信息和右肩的关节点位置信息,以右肩为中心虚拟出一个长方形;

步骤4,界面操控模块根据界面布局信息和操控坐标信息完成对游戏界面的操控:以整幅画面划分按钮感应区域;当操控坐标进入按钮感应区域,高亮对应的按钮;当高亮时,开始显示进度条计时,进度条完成度100%时即选中按钮;通过虚拟输入模块完成选中按钮;

步骤5,游戏操控模块从体感设备获取动作信息:通过体感设备SDK获得所要订阅的使用者动作反馈信息;

步骤6,游戏操控模块根据动作信息,通过虚拟输入模块完成游戏操控:游戏操控模块接受到从体感设备传来的使用者动作反馈,通过虚拟输入模块将其转化成游戏中人物对应动作。

本发明的具体实施例。以本发明提出的一种以Android原生游戏支持体感设备操控的适配方法的进一步的优选方案为例,将更为具体的实施方案公开如下:

步骤1所述通过对截取的当前界面和事先截取的小图进行图像识别来判断当前界面是哪个界面,是指将事先截取的小图与实时截取的整幅当前界面做相似度计算,求出实时截取的整幅当前界面中与事先截取的小图相似度最大的那个部分并记录那个部分相似度;计算出实时截取的整幅当前界面与所有事先截取的小图的最相似部分的相似度,在所有的这些相似度中取相似度最高的相似度;最后判断最高相似度是否能达到相似度经验阀值;如果高于经验阀值,则认为当前界面为该小图对应的界面;如果低于经验阀值,则认为当前界面不是与事先截取小图对应的界面中的一个。

步骤1所述优化图像识别性能,达到30帧每秒的识别速度,满足适配方法所需的实时性,具体是指:只对有识别需求的小图求相似度;先降低分辨率再求相似度;用GPU进行求相似度计算;其中:

所述只对有识别需求的小图求相似度,是指首先判断当前启动的是哪个游戏,然后找到属于该游戏的所有小图,对这些小图求相似度。这样可以极大地避免无意义的计算时间,以满足适配方法所需的实时性。

所述先降低分辨率再求相似度,是指先将当前界面和有识别需求的小图同比率降低到合适的分辨率,再对降低分辨率后的图片求相似度;其中合适的分辨率是指,在满足的求相似度准确率的前提下可以降低到的最低分辨率;即分辨率越低,求相似度的计算量就越小。

所述用GPU进行求相似度计算,是指用将求相似度方法以opencl实现,用gpu进行求相似度的计算。提高求相似度的效率,以满足适配方法所需的实时性。

步骤3所述虚拟出一个长方形;是将这个长方形与屏幕映射对应,即右手在虚拟长方形中的位置信息与屏幕中的相应坐标映射对应。这样,无论使用者站在体感设备前的任何位置,都是以右手与右肩的相对位置关系来映射屏幕中的相对坐标,这个相对坐标就是右手控制坐标。

步骤4所述以整幅画面划分按钮感应位置,是指不以按钮本身的位置定义按钮感应区域,而是以整幅画面划分感应区域。如有左右并列两个按钮,就以整幅画面的左半部分作为左边按钮的感应区域,以整幅画面的右半部分作为右边按钮的感应区域。这样做可以避免手抖动引起的选择失误,使适配方法使用起来更加稳定流畅。

步骤5所述获得所要订阅的使用者动作反馈信息,是指如跳跃动作就是所要订阅的使用者动作,当使用者完成跳跃动作时,就从体感设备SDK获得跳跃动作发生的反馈信息。

步骤6所述虚拟输入模块,是指具有虚拟input输入单元和虚拟sensor输入单元,可将现实人物动作转换成游戏中人物动作对应的input事件,可将人体躯干的倾斜率转换成加速度传感器的x、y、z三轴数据。如在一款摩托车赛车游戏中,使用者通过双手平举完成赛车中对应的加速动作,通过身体倾斜控制赛车移动的具体实现是:游戏开始前,向体感设备注册双手平举动作和身体倾斜率;游戏开始后,使用者希望赛车加速时,平举双手(类似于赛手时的旋转把手加速动作),体感设备探测到该动作后反馈给游戏操控模块,游戏操控模块再通过虚拟输入模块产生一个点击屏幕加速按钮的input事件,从而最终完成游戏中赛车的加速动作;游戏者希望赛车左右移动时,左右倾斜身体,体感设备探测到身体倾斜后反馈给游戏控制模块,游戏控制模块再通过虚拟输入模块产生一组加速度传感器数据,从而最终完成游戏中赛车的左右移动。

本发明的具体实施方式中未涉及的说明属于本领域公知的技术,可参考公知技术加以实施。

本发明经反复试验验证,取得了满意的试用效果。

以上具体实施方式及实施例是对本发明提出的一种以Android原生游戏支持体感设备操控的适配方法技术思想的具体支持,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在本技术方案基础上所做的任何等同变化或等效的改动,均仍属于本发明技术方案保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1