本发明涉及体感游戏领域,尤其涉及一种基于体域网的体感游戏实现方法以及装置。
背景技术:
目前体感游戏的控制方法,一种通过摄像头监控人体动作进行控制,一种通过手持摇控进行操作,这两种方法,一种用户不能超过摄像头的监控范围,一种手持一般只能监控到手的操作,对于体感游戏的选择上存在限制性,一般只能玩拳击,或类似网球类。
技术实现要素:
本发明实施例所要解决的技术问题在于,提供一种基于体域网的体感游戏实现方法,能够提供新的实现体感游戏的方法。
第一方面,提供了一种基于体域网的体感游戏实现方法,包括:
接收m个传感器节点通过体域网发送的动作数据,其中,所述m个传感器节点分布在人体的各个部分;
根据所述m个传感器发送的动作数据计算出人体的动作,并根据所述人体的动作计算获得虚拟人物的动作;
在屏幕上模拟显示所述人体的动作以及所述虚拟人物的动作。
可选地,所述人体的动作包括手部动作、腿部动作、身体动作以及头部动作。
可选地,所述m个传感器节点包括a个手部传感器节点,b个腿部传感器节点、c个身体传感器节点以及d个头部传感节点,其中,所述a个手部传感器节点包括a1个左手传感器节点以及a2个右手传感器节点,所述b个腿部传感器节点包括b1个左腿传感器节点以及b2个右腿传感器节点;
其中,m,a,b,c,d,a1,a2,b1以及b2均为大于零的整数,m=a+b+c+d,a=a1+a2,b=b1+b2。
可选地,根据所述m个传感器发送的动作数据计算出人体的动作具体为:
根据a1个左手传感器节点发送的动作数据计算出左手的动作;
根据a2个右手传感器节点发送的动作数据计算出右手的动作;
根据b1个左腿传感器节点发送的动作数据计算出左腿的动作;
根据b2个右腿传感器节点发送的动作数据计算出右腿的动作;
根据c个身体传感器节点发送的动作数据计算出身体的动作;以及,
根据d个头传感器节点发送的动作数据计算出头部的动作。
可选地,所述动作数据包括位置、动作的方向、动作的速度以及动作的加速度。
第二方面,提供了一种基于体域网的体感游戏实现装置,包括:接收模块,计算模块、显示模块,
接收模块用于接收m个传感器节点通过体域网发送的动作数据,其中,所述m个传感器节点分布在人体的各个部分;
计算模块用于根据所述m个传感器发送的动作数据计算出人体的动作,并根据所述人体的动作计算获得虚拟人物的动作;
显示模块用于在屏幕上模拟显示所述人体的动作以及所述虚拟人物的动作。
可选地,所述人体的动作包括手部动作、腿部动作、身体动作以及头部动作。
可选地,所述m个传感器节点包括a个手部传感器节点,b个腿部传感器节点、c个身体传感器节点以及d个头部传感节点,其中,所述a个手部传感器节点包括a1个左手传感器节点以及a2个右手传感器节点,所述b个腿部传感器节点包括b1个左腿传感器节点以及b2个右腿传感器节点;
其中,m,a,b,c,d,a1,a2,b1以及b2均为大于零的整数,m=a+b+c+d,a=a1+a2,b=b1+b2。
可选地,所述计算模块具体用于:
根据a1个左手传感器节点发送的动作数据计算出左手的动作;
根据a2个右手传感器节点发送的动作数据计算出右手的动作;
根据b1个左腿传感器节点发送的动作数据计算出左腿的动作;
根据b2个右腿传感器节点发送的动作数据计算出右腿的动作;
根据c个身体传感器节点发送的动作数据计算出身体的动作;以及,
根据d个头传感器节点发送的动作数据计算出头部的动作。
可选地,所述动作数据包括位置、动作的方向、动作的速度以及动作的加速度。
上述方法,能够通过体域网获取m个传感器发送的动作数据,并根据m个传感器发送的动作数据计算出人体的动作以及虚拟人物的动作,并在屏幕上模拟显示所述人体的动作以及所述虚拟人物的动作。从而实现体感游戏。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种格斗游戏的屏幕显示图;
图2是本发明实施例提供的一种基于体域网的体感游戏实现方法的流程图;
图3是本发明实施例提供的一种基于体域网的体感游戏实现装置的结构示意图;
图4是本发明实施例提供的一种屏幕的结构示意图。
具体实施方式
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
为例便于理解,本发明实施例中的体感游戏以格斗游戏为例。如图1所示,在格斗游戏中,屏幕显示虚拟人物110(例如,图中的李小龙)的攻击动作,游戏玩家120根据虚拟人物110的攻击动作做出对应的反击动作,游戏玩家120身上设置的传感器节点采集游戏玩家120的动作数据并传输给屏幕。屏幕根据游戏玩家120的动作数据还原游戏玩家120的反击动作,并显示在屏幕上。屏幕还根据游戏玩家120的反击动作计算出虚拟人物110的下一步动作,并显示在屏幕上,依次类推。即,在屏幕上显示了游戏玩家120与虚拟人物110格斗的情景。其中,虚拟人物110显示在屏幕上的形象可以是虚构的人物(例如,街头霸王中的人物)的形象,可以是影视人物(例如,李小龙)的形象,也可以是用户指定的人物的形象(例如,用户的好朋友的形象)。游戏玩家120显示在屏幕上的形象可以是虚构的人物(例如,街头霸王中的人物)的形象,可以是影视人物(例如,叶问)的形象,也可以是自身的形象。
游戏玩家的身体的各个部位均设置有传感器节点,例如,游戏玩家的头部、手部、腿部以及身体等等。其中,手部包括左手以及右手,腿部包括左腿以及右腿。在一具体的实施例中,假设共有m个传感器节点,将a个传感器节点设置在游戏玩家的手部以作为手部传感器节点,将b个传感器节点设置在游戏玩家的腿部以作为腿部传感器节点,将c个传感器节点设置在游戏玩家的身体以作为身体传感器节点,将d个传感器节点设置在游戏玩家的头部以作为头部传感器节点。其中,a个手部传感器节点包括a1个左手传感器节点以及a2个右手传感器节点,b个腿部传感器节点包括b1个左腿传感器节点以及b2个右腿传感器节点。其中,m,a,b,c,d,a1,a2,b1以及b2均为大于零的整数,m=a+b+c+d,a=a1+a2,b=b1+b2。可以理解的是,左手传感器节点使用的标识为第一标识,右手传感器节点使用的标识为第二标识,左腿传感器节点使用的标识为第三标识,右腿传感器节点使用的标识为第四标识,头部传感器节点使用的标识为第五标识。屏幕通过传感器节点发送的标识就可以区别动作数据是属于哪个部位的动作数据。
传感器节点将采集到的游戏玩家的身体的各个部位的动作数据通过体域网发送给屏幕。屏幕根据游戏玩家的身体的各个部位的动作数据就可以还原游戏玩家的动作。其中,动作数据包括位置、动作的方向、动作的速度以及动作的加速度等等。可以理解的是,位置可以是指传感器节点在三维空间的真实位置,也可以是指相对于某参考物(例如,屏幕)的相对位置。一个传感器节点采集到的位置可以用(x,y,z)表示,其中,x和y表示传感器节点投影在地面上的坐标,z表示传感器节点距离地面的高度。在一具体的实施例中,为了便于还原游戏玩家的动作,可以将游戏玩家的动作分为手部动作、腿部动作、身体动作以及头部动作。其中,手部动作包括左手动作以及右手动作,腿部动作包括左腿动作以及右腿动作。其中,游戏玩家的左手、左臂动作的关联性比较大,左臂活动将会带动左手活动,而与其他的部位的动作关联不大,所以,可以将设置在游戏玩家的左臂以及左手的a1个传感器节点采集到的动作数据用于还原左手动作。游戏玩家的右手、右臂动作的关联性比较大,右臂活动将会带动右手活动,而与其他的部位的动作关联不大,所以,可以将设置在游戏玩家的右臂以及右手的a2个传感器节点采集到的动作数据用于还原右手动作。游戏玩家的左脚、左腿动作的关联性比较大,左腿活动将会带动左脚活动,而与其他的部位的动作关联不大,所以,可以将设置在游戏玩家的左腿以及左脚的b1个传感器节点采集到的动作数据用于还原左脚动作。游戏玩家的右脚、右腿动作的关联性比较大,右腿活动将会带动右脚活动,而与其他的部位的动作关联不大,所以,可以将设置在游戏玩家的右腿以及右脚的b2个传感器节点采集到的动作数据用于还原右脚动作。游戏玩家的头部、颈部动作的关联性比较大,颈部活动将会带动头部活动,而与其他的部位的动作关联不大,所以,可以将设置在游戏玩家的头部以及颈部的d个传感器节点采集到的动作数据用于还原头部动作。
举例说明,当游戏玩家举起左手时,设置在游戏玩家左手以及左臂上的传感器节点的z坐标均增大,动作的方向都向上,而且,左手以及左臂上的传感器节点的x之间的差异缩小,y坐标之间的差异也会缩小,屏幕根据据此即可判断游戏玩家举起左手。特别地,当游戏玩家垂直举起左手时,游戏玩家左手以及左臂上的传感器节点的z坐标均达到了最大值,而,左手以及左臂上的传感器节点的x之间的差异最小,y坐标之间的差异也最小。
在屏幕根据游戏玩家的身体的各个部位的动作数据还原游戏玩家的动作之后,屏幕还根据游戏玩家的反击动作计算出虚拟人物的下一步动作。其中,下一步动作是虚拟人物根据游戏玩家的反击动作所做出的防护动作或者再次反击动作。举例说明,如果游戏玩家的反击动作为用左手袭击虚拟人物的头部,则虚拟人物的下一步动作为用左手或者右手隔开游戏玩家的左手;如果游戏玩家的反击动作为用左腿袭击虚拟人物的身体,则虚拟人物的下一步动作为闪开游戏玩家的左腿等等。
为了提供游戏的趣味性,游戏玩家还可以自主设置虚拟人物的动作的速度。例如,可以将虚拟人物的速度依次分为a、b、c、d、e共5个等级,其中,a等级为最高,e等级为最低。游戏玩家不熟悉游戏时,可以将虚拟人物的速度设置为最低的e级,游戏玩家精通游戏时,可以将虚拟人物的速度设置为最高的a级。
可以理解的是,在本发明实施例中,是屏幕根据游戏玩家的动作数据还原游戏玩家的反击动作,以及根据游戏玩家的反击动作计算出虚拟人物的下一步动作。在实现应用中,屏幕的这些计算工作也可以由第三方设备来完成。其中,第三方设备可以是服务器、计算机、移动终端或者可穿戴设备等等。
请参阅图2,图2是本发明实施例提供的一种基于体域网的体感游戏实现方法的流程图。本实施例的基于体域网的体感游戏实现方法包括如下步骤:
210:接收m个传感器节点通过体域网发送的动作数据,其中,所述m个传感器节点分布在人体的各个部分。
在本发明实施例中,游戏玩家的身体的各个部位均设置有传感器节点,例如,游戏玩家的头部、手部、腿部以及身体等等。其中,手部包括左手以及右手,腿部包括左腿以及右腿。
在本发明实施例中,所述m个传感器节点包括a个手部传感器节点,b个传感器节点以及c个身体传感器节点,其中,所述a个手部传感器节点包括a1个左手传感器节点以及a2个右手传感器节点,所述b个腿部传感器节点包括b1个左腿传感器节点以及b2个右腿传感器节点;其中,m,a,b,c,a1,a2,b1以及b2均为大于零的整数,m=a+b+c,a=a1+a2,b=b1+b2。
在本发明实施例中,动作数据包括位置、动作的方向、动作的速度以及动作的加速度。可以理解的是,位置可以是指传感器节点在三维空间的真实位置,也可以是指相对于某参考物(例如,屏幕)的相对位置。一个传感器节点采集到的位置可以用(x,y,z)表示,其中,x和y表示传感器节点投影在地面上的坐标,z表示传感器节点距离地面的高度。
可以理解的是,左手传感器节点使用的标识为第一标识,右手传感器节点使用的标识为第二标识,左腿传感器节点使用的标识为第三标识,右腿传感器节点使用的标识为第四标识,头部传感器节点使用的标识为第五标识。屏幕通过传感器节点发送的标识就可以区别动作数据是属于哪个部位的动作数据。
220:根据所述m个传感器发送的动作数据计算出人体的动作,并根据所述人体的动作计算获得虚拟人物的动作。
在本发明实施例中,为了便于还原游戏玩家的动作,可以将游戏玩家的动作分为手部动作、腿部动作、身体动作以及头部动作。其中,手部动作包括左手动作以及右手动作,腿部动作包括左腿动作以及右腿动作。其中,游戏玩家的左手、左臂动作的关联性比较大,左臂活动将会带动左手活动,而与其他的部位的动作关联不大,所以,可以将设置在游戏玩家的左臂以及左手的a1个传感器节点采集到的动作数据用于还原左手动作。游戏玩家的右手、右臂动作的关联性比较大,右臂活动将会带动右手活动,而与其他的部位的动作关联不大,所以,可以将设置在游戏玩家的右臂以及右手的a2个传感器节点采集到的动作数据用于还原右手动作。游戏玩家的左脚、左腿动作的关联性比较大,左腿活动将会带动左脚活动,而与其他的部位的动作关联不大,所以,可以将设置在游戏玩家的左腿以及左脚的b1个传感器节点采集到的动作数据用于还原左脚动作。游戏玩家的右脚、右腿动作的关联性比较大,右腿活动将会带动右脚活动,而与其他的部位的动作关联不大,所以,可以将设置在游戏玩家的右腿以及右脚的b2个传感器节点采集到的动作数据用于还原右脚动作。游戏玩家的头部、颈部动作的关联性比较大,颈部活动将会带动头部活动,而与其他的部位的动作关联不大,所以,可以将设置在游戏玩家的头部以及颈部的d个传感器节点采集到的动作数据用于还原头部动作。
举例说明,当游戏玩家举起左手时,设置在游戏玩家左手以及左臂上的传感器节点的z坐标均增大,动作的方向都向上,而且,左手以及左臂上的传感器节点的x之间的差异缩小,y坐标之间的差异也会缩小,屏幕根据据此即可判断游戏玩家举起左手。特别地,当游戏玩家垂直举起左手时,游戏玩家左手以及左臂上的传感器节点的z坐标均达到了最大值,而,左手以及左臂上的传感器节点的x之间的差异最小,y坐标之间的差异也最小。
在本发明实施例中,下一步动作是虚拟人物根据游戏玩家的反击动作所做出的防护动作或者再次反击动作。举例说明,如果游戏玩家的反击动作为用左手袭击虚拟人物的头部,则虚拟人物的下一步动作为用左手或者右手隔开游戏玩家的左手;如果游戏玩家的反击动作为用左腿袭击虚拟人物的身体,则虚拟人物的下一步动作为闪开游戏玩家的左腿等等。
230:在屏幕上模拟显示人体的动作以及虚拟人物的动作。
可以理解的是,在本发明实施例中,是屏幕根据游戏玩家的动作数据还原游戏玩家的反击动作,以及根据游戏玩家的反击动作计算出虚拟人物的下一步动作。在实现应用中,屏幕的这些计算工作也可以由第三方设备来完成。其中,第三方设备可以是服务器、计算机、移动终端或者可穿戴设备等等。
为了提供游戏的趣味性,游戏玩家还可以自主设置虚拟人物的动作的速度。例如,可以将虚拟人物的速度依次分为a、b、c、d、e共5个等级,其中,a等级为最高,e等级为最低。游戏玩家不熟悉游戏时,可以将虚拟人物的速度设置为最低的e级,游戏玩家精通游戏时,可以将虚拟人物的速度设置为最高的a级。
请参阅图3,图3是本发明实施例提供的一种基于体域网的体感游戏实现装置的结构示意图。本实施方式的基于体域网的体感游戏实现装置包括:接收模块310,计算模块320、显示模块330。
接收模块310用于接收m个传感器节点通过体域网发送的动作数据,其中,所述m个传感器节点分布在人体的各个部分;
计算模块320用于根据所述m个传感器发送的动作数据计算出人体的动作,并根据所述人体的动作计算获得虚拟人物的动作;
显示模块330用于在屏幕上模拟显示所述人体的动作以及所述虚拟人物的动作。
可选地,所述人体的动作包括手部动作、腿部动作、身体动作以及头部动作。
可选地,所述m个传感器节点包括a个手部传感器节点,b个腿部传感器节点、c个身体传感器节点以及d个头部传感节点,其中,所述a个手部传感器节点包括a1个左手传感器节点以及a2个右手传感器节点,所述b个腿部传感器节点包括b1个左腿传感器节点以及b2个右腿传感器节点;
其中,m,a,b,c,d,a1,a2,b1以及b2均为大于零的整数,m=a+b+c+d,a=a1+a2,b=b1+b2。
可选地,所述计算模块320具体用于:
根据a1个左手传感器节点发送的动作数据计算出左手的动作;
根据a2个右手传感器节点发送的动作数据计算出右手的动作;
根据b1个左腿传感器节点发送的动作数据计算出左腿的动作;
根据b2个右腿传感器节点发送的动作数据计算出右腿的动作;
根据c个身体传感器节点发送的动作数据计算出身体的动作;以及,
根据d个头传感器节点发送的动作数据计算出头部的动作。
可选地,所述动作数据包括位置、动作的方向、动作的速度以及动作的加速度。
本发明实施例的基于体域网的体感游戏实现装置能够实现如图2所示的基于体域网的体感游戏实现方法,具体请参阅图2以及相关实施例,此处不再重复赘述。
参见图4,本申请实施例提供的更换壁纸的装置包括:存储单元410、通信接口420及与所述存储单元410和通信接口420耦合的处理器430。所述存储单元410用于存储指令,所述处理器420用于执行所述指令,所述通信接口420用于在所述处理器430的控制下与其他设备进行通信。当所述处理器430在执行所述指令时可根据所述指令执行本申请上述实施例中的任意一种基于体域网的体感游戏实现方法。
处理器430还可称中央处理单元(cpu,centralprocessingunit)。存储单元410可以包括只读存储器和随机存取存储器,并向处理器430提供指令和数据等。存储单元410的一部分还可包括非易失性随机存取存储器。具体的应用中更换壁纸的装置的各组件例如通过总线系统耦合在一起。总线系统除了可包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统440。上述本发明实施例揭示的方法可应用于处理器430中,或由处理器430实现。处理器430可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器430中的硬件的集成逻辑电路或者软件形式的指令完成。其中,上述处理器430可以是通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。处理器430可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储单元410,例如处理器430可读取存储单元410中的信息,结合其硬件完成上述方法的步骤。
接收m个传感器节点通过体域网发送的动作数据,其中,所述m个传感器节点分布在人体的各个部分;
根据所述m个传感器发送的动作数据计算出人体的动作,并根据所述人体的动作计算获得虚拟人物的动作;
在屏幕上模拟显示所述人体的动作以及所述虚拟人物的动作。
可选地,所述人体的动作包括手部动作、腿部动作、身体动作以及头部动作。
可选地,所述m个传感器节点包括a个手部传感器节点,b个腿部传感器节点、c个身体传感器节点以及d个头部传感节点,其中,所述a个手部传感器节点包括a1个左手传感器节点以及a2个右手传感器节点,所述b个腿部传感器节点包括b1个左腿传感器节点以及b2个右腿传感器节点;
其中,m,a,b,c,d,a1,a2,b1以及b2均为大于零的整数,m=a+b+c+d,a=a1+a2,b=b1+b2。
可选地,根据所述m个传感器发送的动作数据计算出人体的动作具体为:
根据a1个左手传感器节点发送的动作数据计算出左手的动作;
根据a2个右手传感器节点发送的动作数据计算出右手的动作;
根据b1个左腿传感器节点发送的动作数据计算出左腿的动作;
根据b2个右腿传感器节点发送的动作数据计算出右腿的动作;
根据c个身体传感器节点发送的动作数据计算出身体的动作;以及,
根据d个头传感器节点发送的动作数据计算出头部的动作。
可选地,所述动作数据包括位置、动作的方向、动作的速度以及动作的加速度。
上述方法,能够通过体域网获取m个传感器发送的动作数据,并根据m个传感器发送的动作数据计算出人体的动作以及虚拟人物的动作,并在屏幕上模拟显示所述人体的动作以及所述虚拟人物的动作。从而实现体感游戏。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。