CN117379791A - 基于函数拟合实现捶打动作识别的体感游戏方法 - Google Patents
基于函数拟合实现捶打动作识别的体感游戏方法 Download PDFInfo
- Publication number
- CN117379791A CN117379791A CN202311578973.9A CN202311578973A CN117379791A CN 117379791 A CN117379791 A CN 117379791A CN 202311578973 A CN202311578973 A CN 202311578973A CN 117379791 A CN117379791 A CN 117379791A
- Authority
- CN
- China
- Prior art keywords
- beating
- data
- somatosensory
- game
- realizing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000009471 action Effects 0.000 title claims abstract description 133
- 238000010009 beating Methods 0.000 title claims abstract description 113
- 230000003238 somatosensory effect Effects 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000033001 locomotion Effects 0.000 claims abstract description 125
- 230000001133 acceleration Effects 0.000 claims abstract description 84
- 238000003860 storage Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 101
- 238000009826 distribution Methods 0.000 claims description 29
- 238000006073 displacement reaction Methods 0.000 claims description 15
- 238000005070 sampling Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000008859 change Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 238000011524 similarity measure Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000002864 sequence alignment Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种基于函数拟合实现捶打动作识别的体感游戏方法、装置、设备及计算机可读存储介质,该游戏方法包括:在体感游戏启动后,从绑定的体感设备获取姿态数据,所述姿态数据包括陀螺仪数据和加速度数据;根据所述姿态数据生成移动指令,并根据所述移动指令控制捶打指示物进行移动;根据所述加速度数据和预拟合的高斯函数判断用户是否进行捶打动作;若是,则在所述体感游戏中执行捶打操作。本发明的基于函数拟合实现捶打动作识别的体感游戏方法具有提升捶打动作识别的适应性、精确性、鲁棒性和泛化能力的优点。
Description
技术领域
本发明涉及体感游戏技术领域,尤其涉及一种基于函数拟合实现捶打动作识别的体感游戏方法、装置、设备及计算机可读存储介质。
背景技术
在当前的体感游戏领域,为了提供更真实、互动性更强的用户体验,开发者们常常使用各种传感器技术来捕捉用户的实际运动并将其映射到游戏环境中。传统的体感控制系统通常使用加速度计、陀螺仪等传感器来获取用户设备的姿态信息。然后,通过计算运动速度来判断用户是否完成设定的捶打动作。
这种方案的问题在于,大多数传统方案使用单一的运动速度阈值进行捶打动作判断,对不同用户的适应性有限。
发明内容
本申请实施例通过提供一种基于函数拟合实现捶打动作识别的体感游戏方法,旨在提升体感游戏中对用户捶打动作判定的适应性。
为实现上述目的,本申请实施例提供了一种基于函数拟合实现捶打动作识别的体感游戏方法,包括:
在体感游戏启动后,从绑定的体感设备获取姿态数据,所述姿态数据包括陀螺仪数据和加速度数据;
根据所述姿态数据生成移动指令,并根据所述移动指令控制捶打指示物进行移动;
根据所述加速度数据和预拟合的高斯函数判断用户是否进行捶打动作;
若是,则在所述体感游戏中执行捶打操作。
在一实施例中,在根据所述姿态数据生成移动指令之前,所述方法还包括:
根据所述加速度数据计算所述体感设备在当前采样时刻的移动速度;
比较所述移动速度与预设的速度阈值;
若所述移动速度小于所述预设的速度阈值,则删除体感设备在当前采样时刻采集的姿态数据。
在一实施例中,根据所述姿态数据生成移动指令,包括:
在执行体感游戏的终端上生成一个由多个网格单元组成的网格地图,以及一个与所述体感设备相匹配的虚拟刚体;
根据所述陀螺仪数据和所述加速度数据更新所述虚拟刚体在所述网格地图中的位置;
根据所述虚拟刚体在所述网格地图中移动过程中经过的网格单元的坐标生成所述体感设备的轨迹数据;
根据所述轨迹数据生成所述移动指令。
在一实施例中,根据所述陀螺仪数据和所述加速度数据更新所述虚拟刚体在所述网格地图中的位置,包括:
根据所述陀螺仪数据和所述加速度数据计算所述体感设备在水平面内的位移数据;
根据所述水平面内的位移调整更新所述虚拟刚体在所述网格地图中的位置。
在一实施例中,根据所述加速度数据和预拟合的高斯函数判断用户是否进行捶打动作,包括:
获取根据所述陀螺仪数据和加速度数据计算所述体感设备向下运动时沿竖直方向的速度分量;
将所述速度分量代入所述预拟合的高斯函数,得到捶打速度分布曲线;
计算所述捶打速度分布曲线与根据预拟合的参考曲线的相似度;
根据所述相似度判断用户是否进行捶打动作。
在一实施例中,计算所述捶打速度分布曲线与预拟合的参考曲线的相似度,包括:
根据动态时间规整算法,将所述捶打速度分布曲线和所述参考曲线分别表示为两个由多个点组成的序列;
根据欧式距离计算两个序列中每两个点之间的距离,并构建一个距离矩阵;
从距离矩阵的左上角开始,寻找一条到达右下角的最短路径,并将所述路径上的距离之和作为所述捶打速度分布曲线和所述参考曲线之间的相似度。
在一实施例中,在所述体感游戏中执行捶打操作,包括:
根据所述移动指令获取当前捶打位置;
根据所述当前捶打位置生成捶打结果;
根据所述捶打结果生成对应的游戏反馈。
为实现上述目的,本申请实施例还提出一种基于函数拟合实现捶打动作识别的体感游戏装置,包括:
获取模块,用于在体感游戏启动后,从绑定的体感设备获取姿态数据,所述姿态数据包括陀螺仪数据和加速度数据;
移动模块,用于根据所述姿态数据生成移动指令,并根据所述移动指令控制捶打指示物进行移动;
判定模块,用于根据所述加速度数据和预拟合的高斯函数判断用户是否进行捶打动作;
执行模块,用于在判定用户完成捶打动作后,在所述体感游戏中执行捶打操作。
为实现上述目的,本申请实施例还提出一种基于函数拟合实现捶打动作识别的体感游戏设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的基于函数拟合实现捶打动作识别的体感游戏程序,所述处理器执行所述基于函数拟合实现捶打动作识别的体感游戏程序时实现如上述任一项所述的基于函数拟合实现捶打动作识别的体感游戏方法。
为实现上述目的,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于函数拟合实现捶打动作识别的体感游戏程序,所述基于函数拟合实现捶打动作识别的体感游戏程序被处理器执行时实现如上述任一项所述的基于函数拟合实现捶打动作识别的体感游戏方法。
本申请的基于函数拟合实现捶打动作识别的体感游戏方法,通过从体感设备获取的姿态数据生成移动指令,以控制捶打指示物的移动,同时利用加速度数据和预拟合的高斯函数判断用户是否进行捶打动作,并在判定用户执行捶打动作后在体感游戏中执行捶打操作。这其中,通过采用高斯函数进行动作判断,系统能够更灵活地适应用户在进行捶打动作时可能呈现的多样性。同时,通过高斯模型对加速度数据进行预拟合,系统能够模拟捶打动作的典型特征,从而更精准地判断用户是否进行了捶打动作。此外,采用高斯函数进行判断可以在一定程度上抵御噪声和环境变化的影响,如此,使得系统具有更强的鲁棒性。并且,模型的泛化能力使其适用于不同的使用场景,确保在各种条件下都能可靠地检测用户身边的捶打动作。如此,相较于仅通过姿态数据及固定阈值判定用户是否进行捶打动作的传统游戏方案而言,本申请技术方案的体感游戏能够提升捶打动作识别的适应性、精确性、鲁棒性和泛化能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明基于函数拟合实现捶打动作识别的体感游戏设备一实施例的模块结构图;
图2为本发明基于函数拟合实现捶打动作识别的体感游戏方法一实施例的流程示意图;
图3为本发明基于函数拟合实现捶打动作识别的体感游戏装置一实施例的模块结构图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。文中出现的“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的数量词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。而“第一”、“第二”、以及“第三”等的使用不表示任何顺序,可将这些词解释为名称。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的服务器1(又叫基于函数拟合实现捶打动作识别的体感游戏设备)结构示意图。
本发明实施例服务器,如“物联网设备”、带联网功能的智能空调、智能电灯、智能电源,带联网功能的AR/VR设备,智能音箱、自动驾驶汽车、PC,智能手机、平板电脑、电子书阅读器、便携计算机等具有显示功能的设备。
如图1所示,所述服务器1包括:存储器11、处理器12及网络接口13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是服务器1的内部存储单元,例如该服务器1的硬盘。存储器11在另一些实施例中也可以是服务器1的外部存储设备,例如该服务器1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
进一步地,存储器11还可以包括服务器1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于服务器1的应用软件及各类数据,例如基于函数拟合实现捶打动作识别的体感游戏程序10的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行基于函数拟合实现捶打动作识别的体感游戏程序10等。
网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该服务器1与其他电子设备之间建立通信连接。
网络可以为互联网、云网络、无线保真(Wi-Fi)网络、个人网(PAN)、局域网(LAN)和/或城域网(MAN)。网络环境中的各种设备可以被配置为根据各种有线和无线通信协议连接到通信网络。这样的有线和无线通信协议的例子可以包括但不限于以下中的至少一个:传输控制协议和互联网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、文件传输协议(FTP)、ZigBee、EDGE、IEEE 802.11、光保真(Li-Fi)、802.16、IEEE 802.11s、IEEE 802.11g、多跳通信、无线接入点(AP)、设备对设备通信、蜂窝通信协议和/或蓝牙(Blue Tooth)通信协议或其组合。
可选地,该服务器还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在服务器1中处理的信息以及用于显示可视化的用户界面。
图1仅示出了具有组件11-13以及基于函数拟合实现捶打动作识别的体感游戏程序10的服务器1,本领域技术人员可以理解的是,图1示出的结构并不构成对服务器1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在本实施例中,处理器12可以用于调用存储器11中存储的基于函数拟合实现捶打动作识别的体感游戏程序,并执行以下操作:
在体感游戏启动后,从绑定的体感设备获取姿态数据,所述姿态数据包括陀螺仪数据和加速度数据;
根据所述姿态数据生成移动指令,并根据所述移动指令控制捶打指示物进行移动;
根据所述加速度数据和预拟合的高斯函数判断用户是否进行捶打动作;
若是,则在所述体感游戏中执行捶打操作。
在一实施例中,处理器12可以用于调用存储器11中存储的基于函数拟合实现捶打动作识别的体感游戏程序,并执行以下操作:
根据所述加速度数据计算所述体感设备在当前采样时刻的移动速度;
比较所述移动速度与预设的速度阈值;
若所述移动速度小于所述预设的速度阈值,则删除体感设备在当前采样时刻采集的姿态数据。
在一实施例中,处理器12可以用于调用存储器11中存储的基于函数拟合实现捶打动作识别的体感游戏程序,并执行以下操作:
在执行体感游戏的终端上生成一个由多个网格单元组成的网格地图,以及一个与所述体感设备相匹配的虚拟刚体;
根据所述陀螺仪数据和所述加速度数据更新所述虚拟刚体在所述网格地图中的位置;
根据所述虚拟刚体在所述网格地图中移动过程中经过的网格单元的坐标生成所述体感设备的轨迹数据;
根据所述轨迹数据生成所述移动指令。
在一实施例中,处理器12可以用于调用存储器11中存储的基于函数拟合实现捶打动作识别的体感游戏程序,并执行以下操作:
根据所述陀螺仪数据和所述加速度数据计算所述体感设备在水平面内的位移数据;
根据所述水平面内的位移调整更新所述虚拟刚体在所述网格地图中的位置。
在一实施例中,处理器12可以用于调用存储器11中存储的基于函数拟合实现捶打动作识别的体感游戏程序,并执行以下操作:
获取根据所述陀螺仪数据和加速度数据计算所述体感设备向下运动时沿竖直方向的速度分量;
将所述速度分量代入所述预拟合的高斯函数,得到捶打速度分布曲线;
计算所述捶打速度分布曲线与根据预拟合的参考曲线的相似度;
根据所述相似度判断用户是否进行捶打动作。
在一实施例中,处理器12可以用于调用存储器11中存储的基于函数拟合实现捶打动作识别的体感游戏程序,并执行以下操作:
根据动态时间规整算法,将所述捶打速度分布曲线和所述参考曲线分别表示为两个由多个点组成的序列;
根据欧式距离计算两个序列中每两个点之间的距离,并构建一个距离矩阵;
从距离矩阵的左上角开始,寻找一条到达右下角的最短路径,并将所述路径上的距离之和作为所述捶打速度分布曲线和所述参考曲线之间的相似度。
在一实施例中,处理器12可以用于调用存储器11中存储的基于函数拟合实现捶打动作识别的体感游戏程序,并执行以下操作:
根据所述移动指令获取当前捶打位置;
根据所述当前捶打位置生成捶打结果;
根据所述捶打结果生成对应的游戏反馈。
基于上述基于函数拟合实现捶打动作识别的体感游戏设备的硬件构架,提出本发明基于函数拟合实现捶打动作识别的体感游戏方法的实施例。本发明的基于函数拟合实现捶打动作识别的体感游戏方法,旨在提升体感游戏中对用户捶打动作判定的适应性。
参照图2,图2为本发明基于函数拟合实现捶打动作识别的体感游戏方法的一实施例,所述基于函数拟合实现捶打动作识别的体感游戏方法包括以下步骤:
S10、在体感游戏启动后,从绑定的体感设备获取姿态数据,所述姿态数据包括陀螺仪数据和加速度数据。
这其中,该体感游戏一种基于体感技术的可以实现捶打操作的游戏,例如打气球游戏、打地鼠游戏等,其可以是虚拟现实游戏,也可是传统的2D或3D游戏。与传统的游戏手柄或键盘相比,体感游戏通过捕捉用户的真实动作和姿势,将其转化为游戏中的捶打动作。
可选择的,该体感游戏可以是基于web的网页游戏,也可以是基于html5的小程序,或是独立运行的app。
进一步的,体感设备是一类用于捕捉、识别和转化用户身体动作的设备。它们通常包括传感器、控制器和相关的硬件组件,旨在与电子游戏、虚拟现实、增强现实等交互式体验技术结合使用。
在本申请的技术方案中,体感设备包括加速传感器和陀螺仪,其中,加速度传感器能够在采集体感设备运动时的三轴加速度数据(x轴加速度数据、y轴加速度数据及z轴加速度数据,其中,x轴表示前后方向、y轴表示左右方向、z轴表示上下方向)。陀螺仪则能够采集提体感设备运动时的三轴角速度数据。
可选择的,本申请技术方案所采用的体感设备包括但不限于手机、手环、手表、戒指、手柄、腕带等。
具体来说,可通过USB、WIFI、蓝牙或2.4G等通讯方式实现体感设备与游戏终端的绑定,该游戏终端是指运行体感游戏的终端,其可以手机、平板电脑、笔记本电脑、掌机等移动终端,也可是台式电脑、家庭主机等固定终端。
在绑定完成后,当用户终端在游戏终端上启动体感篮球游戏时,终端可基于与体感设备的连接协议,周期性的从体感设备接收或获取陀螺仪数据和加速度数据。
S20、根据所述姿态数据生成移动指令,并根据所述移动指令控制捶打指示物进行移动。
这其中,移动指令是由系统根据用户的姿态数据生成的指导性命令,用于控制体感游戏中的对象(例如捶打指示物)的移动。这些指令可以包含有关方向、速度、力度等信息,以确保捶打动作在游戏中得到准确的反映。例如,如果用户执行了向前捶打的动作,移动指令可能包含一个向前的矢量,其中包括速度信息,以便捶打指示物可以在游戏中向前移动并产生适当的反馈。
捶打指示物是体感游戏中的可控元素,如锤子、虚拟的手等元素。捶打指示物的移动和行为受到系统生成的移动指令的控制,从而根据用户的实际动作实时调整其位置、方向和状态。
具体来说,在获取到陀螺仪数据和加速度数据后,系统可以先对这些数据进行预处理,如进行坐标转换、滤波和噪声消除等预处理操作,以确保数据的准确性和稳定性。
接下来,系统会采用姿态解算算法,将陀螺仪和加速度数据转换为设备的方向和位置信息。其中,姿态解算可以根据设备的旋转和加速度变化来推导出设备的朝向,从而准确地捕捉用户的动作。
一旦获取到设备的方向和位置信息,系统可以根据游戏设计的需要,将其转化为相应的移动指令。所生成的移动指令将被传入正在运行的体感游戏,以更新捶打指示物在游戏界面上的位置。
通过上述操作,便可将用户的实际动作映射到游戏环境中,以实现捶打指示物的移动操作。
S30、根据所述加速度数据和预拟合的高斯函数判断用户是否进行捶打动作。
其中,高斯函数,也称为正态分布函数或钟形曲线,是数学中一种常见的连续概率分布函数。它的形状呈钟形,因此也被称为钟形曲线。高斯函数的一般形式如下:
其中,f(x)是高斯函数在点x处的函数值;μ是均值(分布的中心);σ是标准差(衡量分布的离散程度);e是自然对数的底。
进一步的,该预拟合的高斯函数是基于采集标准的捶打动作时的加速度数据所拟合的。
值得说明的是,加速度数据包含有体感设备在各个轴上的加速度值,当用户进行锤击动作时,加速度数据会发生显著的变化,因此可以利用加速度数据和预拟合的高斯函数以判断用户是否进行捶打动作。
具体来说,在获取到姿态数据中的加速度信息后,系统可以将加速度数据输入预拟合的高斯函数得到加速度变化曲线。系统通过比较实际加速度曲线与预拟合的高斯函数模型(曲线),来判断当前的加速度变化是否符合预设定的捶打动作模式。例如通过比较曲线的峰值、持续时间、斜率等加速度曲线的特征,以确定是否存在典型的捶打动作信号。
如果系统检测到与预期模型相符的加速度变化,就认为用户执行了捶打操作。这个判断将触发后续的步骤,例如执行捶打操作、更新游戏状态或者触发相关效果。
可以理解,通过采用高斯函数进行动作判断,系统能够更灵活地适应用户在进行捶打动作时可能呈现的多样性。高斯函数的模型具有可调参数,例如均值和标准差,这允许系统根据用户的个体差异以及环境变化进行自适应。
同时,捶打动作会引起体感设备在速度、力度和方向等方面存在变化,高斯函数的模型能够更好地捕捉这些动态变化。通过高斯模型对加速度数据进行预拟合,系统能够模拟捶打动作的典型特征,包括加速度峰值、持续时间等,从而更精准地判断用户是否进行了捶打动作。
此外,采用高斯函数进行判断可以在一定程度上抵御噪声和环境变化的影响,如此,使得系统具有更强的鲁棒性。并且,模型的泛化能力使其适用于不同的使用场景,确保在各种条件下都能可靠地检测用户身边的捶打动作。
综合而言,采用预拟合的高斯函数进行捶打动作判断能够提升捶打动作识别的适应性、精确性、鲁棒性和泛化能力,为体感游戏提供了更准确和可靠的用户动作识别。
还值得补充的是,仅采用加速度数据进行捶打动作的判定,还能够在保证捶打动作监测精度的情况下,减少系统的计算量,提升捶打动作识别效率。
S40、若是,则在所述体感游戏中执行捶打操作。
具体来说,一旦判断用户执行了捶打动作,那么系统将在游戏中执行捶打操作。这其中,捶打操作的进行将基于捶打指示物的当前动作而进行。
举例来说,执行捶操作打包括但不限于以下操作,例如改变捶打指示物状态、提供捶打动画、提供捶打音效、更新游戏分数等。
可以理解,本申请的基于函数拟合实现捶打动作识别的体感游戏方法,通过从体感设备获取的姿态数据生成移动指令,以控制捶打指示物的移动,同时利用加速度数据和预拟合的高斯函数判断用户是否进行捶打动作,并在判定用户执行捶打动作后在体感游戏中执行捶打操作。这其中,通过采用高斯函数进行动作判断,系统能够更灵活地适应用户在进行捶打动作时可能呈现的多样性。同时,通过高斯模型对加速度数据进行预拟合,系统能够模拟捶打动作的典型特征,从而更精准地判断用户是否进行了捶打动作。此外,采用高斯函数进行判断可以在一定程度上抵御噪声和环境变化的影响,如此,使得系统具有更强的鲁棒性。并且,模型的泛化能力使其适用于不同的使用场景,确保在各种条件下都能可靠地检测用户身边的捶打动作。如此,相较于仅通过姿态数据及固定阈值判定用户是否进行捶打动作的传统游戏方案而言,本申请技术方案的体感游戏能够提升捶打动作识别的适应性、精确性、鲁棒性和泛化能力。
在一些实施例中,在根据所述姿态数据生成移动指令之前,所述方法还包括:
S110、根据所述加速度数据计算所述体感设备在当前采样时刻的移动速度。
这其中,当前采样时刻指的是在体感游戏中采集姿态数据的具体时间点。在体感游戏中,姿态数据通常以时间序列的形式进行采集,表示用户在连续时间内的动作和姿势。这个时间序列以离散的采样间隔记录用户的姿态信息,每个采样点对应一个特定的时刻。
具体来说,通过对加速度数据进行积分,可以得到体感设备在当前采样时刻的速度。这是通过对加速度关于时间的积分操作来估计设备的运动速度。数值积分的结果表示了在当前时间点设备在各个轴上的速度值。
S120、比较所述移动速度与预设的速度阈值。
这其中,预设的速度阈值是根据游戏设计需求、用户体验或者其他考虑而确定的。这个阈值代表了期望的最小运动速度,当用户的速度超过这个阈值时,系统认为用户执行了足够明确的动作,反之将认为用户所进行的动作是可以被忽略的非真实动作。
值得说明的是,在步骤S120中,系统可以体感设备在当前运动方向的速度与速度阈值进行比较,也可以采用采用某一个轴(x轴、y轴、z轴)的加速度数据所计算得到的速度与预设速度阈值进行比较。具体如何比较,需要视游戏具体需求而定,本申请在此不做具体限定。
S130、若所述移动速度小于所述预设的速度阈值,则删除体感设备在当前采样时刻采集的姿态数据。具体来说,若体感设备的当前移动速度小于设定阈值,系统将判定用户的运动速度并非真实动作,属于不影响动作判定的误操作数据。因此系统将删除体感设备在当前采样时刻采集的姿态数据。这一删除操作将有助于滤除一些低速度或者非意图的运动,从而提高姿态数据的准确性和可靠性。
可以理解,通过上述步骤,在在姿态数据处理前引入了一项速度检测和数据过滤的机制,如此,可确保只有在预期的速度条件下的运动才会被纳入后续的姿态数据处理中,从而提高了方法对用户真实意图的判断准确性。
在一些实施例中,根据所述姿态数据生成移动指令,包括:
S21、在执行体感游戏的终端上生成一个由多个网格单元组成的网格地图,以及一个与所述体感设备相匹配的虚拟刚体。
这其中,网格地图是一种将空间划分为规则网格单元的图像表示方法。它将整个空间划分为离散的小区域,每个区域称为一个网格单元,可以是正方形、矩形或其他形状。每个网格单元具有唯一的标识符和坐标,用于表示其在整个地图中的位置。在本申请的技术方案中,网格地图用来表示游戏场景的布局。每个网格单元可以对应一个固定大小的区域或格子,用来记录虚拟刚体在游戏中的位置。
具体而言,在体球游戏启动后,可基于预设的初始化参数构建网格地图,该网格地图可以是二维地图(如平面地图),也可是三维地图(如立体场景)。值得说明的是,根据预设的初始化参数,在生成网格地图的同时,确定了每个网格单元的大小、及每个网格单元的坐标值。
进一步地,刚体是指在物理世界中具有固定形状和质量,不会发生变形或弯曲的物体。虚拟刚体则是具有相应物理属性的虚拟建模。在本申请的技术方案中,该虚拟刚体用以记录体感设备在网格地图中的移动轨迹。
S22、根据所述陀螺仪数据和所述加速度数据更新所述虚拟刚体在所述网格地图中的位置。
具体来说,陀螺仪数据提供了关于设备旋转的信息,而加速度数据提供了关于设备加速度的信息。结合这两种数据,系统可以推断虚拟刚体在三维空间中的姿态和位置。如此,便可实时更新虚拟刚体在网格地图中的位置。
S23、根据所述虚拟刚体在所述网格地图中移动过程中经过的网格单元的坐标生成所述体感设备的轨迹数据。
具体来说,可创建一个数据结构来存储虚拟刚体经过的网格单元的坐标数据,可以使用数组、列表、矩阵等数据结构来表示坐标数据。在游戏过程中,可根据时间序列将虚拟刚体所处网格单元的坐标值记录到轨迹数据结构中,以作为体感设备在空间中的运动轨迹。
S24、根据所述轨迹数据生成所述移动指令。
进一步的,系统可以利用生成的轨迹数据,生成移动指令。
具体来说,系统可以根据轨迹数据获取体感设备在每个采样间隔的位移方向及位移距离,然后基于这些位移方向和位移距离生成体感设备的移动指令。
可以理解,通过上述步骤,可以将体感设备的轨迹数据表示为经过处理的网格坐标,可以将连续的坐标序列转换为离散的网格单元序列。这样做去除中间相邻坐标之间的微小变化,以可以减少数据的冗余与重复,从而优化数据的表示和存储,并可提升移动指令的计算效率。
在一些实施例中,根据所述陀螺仪数据和所述加速度数据更新所述虚拟刚体在所述网格地图中的位置,包括:
S221、根据所述陀螺仪数据和所述加速度数据计算所述体感设备在水平面内的位移数据。
这其中,"水平面"是指与地球表面的水平方向一致,即垂直于地球重力方向的平面。
具体来说,陀螺仪数据提供了设备在水平面内的旋转速率信息,而加速度数据提供了设备在水平面内的加速度信息,如此,系统利用陀螺仪数据和加速度数据可以计算体感设备在水平面内的位移数据。
S222、根据所述水平面内的位移调整更新所述虚拟刚体在所述网格地图中的位置。
具体的,在得到体感设备在水平面内的位移数据后,系统将根据计算得到的水平面内的位移数据来更新虚拟刚体在网格地图中的位置。
通过上述步骤,可以根据体感设备在平面内的实际移动操作游戏界面中的捶打指示物,以实现现实动作到游戏操作的实时映射。这其中,在打地鼠等上下捶打的游戏中,将体感设备在平面内的移动映射到游戏中,有助于保持现实动作与游戏操作的一致性,以增强用户的体感游戏体验。此外,上述操作还能够减少系统计算移动指令所需的计算量,以在提升计算效率的同时,降低系统的计算负载。
在一些实施例中,根据所述加速度数据和预拟合的高斯函数判断用户是否进行捶打操作,包括:
S31、获取根据所述陀螺仪数据和加速度数据计算所述体感设备向下运动时沿竖直方向的速度分量。
这其中,向下运动时竖直方向的速度分量指的是体感设备在竖直方向上运动的速度,这个速度分量用于描述设备相对于地球向下移动的速率。
进一步的,系统可以通过陀螺仪数据和加速度数据判定体感设备向下运动的时机。具体来说,当用户执行向下的动作时,设备可能发生旋转,陀螺仪会记录这个旋转速度。系统通过检测陀螺仪数据中是否存在明显的向下旋转速度来判定设备是否执行向下运动。以及,当设备向下运动时,竖直方向的加速度会受到影响。系统通过检测加速度数据中竖直方向上的加速度变化,特别是是否存在正值的竖直方向加速度,来判断设备是否在向下运动。此外,系统还可以会综合分析陀螺仪和加速度数据,考虑这两种传感器的信息,以更可靠地确定设备的运动方向。例如,向下的旋转速度结合正值的竖直方向加速度可能是系统判定向下运动的依据。
具体的,当系统判定体感设备向下运动后,系统可以通过陀螺仪数据计算体感设备的当前姿态角,并通过加速度数据计算体感设备在当前姿态角下的三轴速度,然后结合当前姿态角及三轴速度,系统可以计算出体感设备在竖直方向上的速度分量。
S32、将所述速度分量代入所述预拟合的高斯函数,得到捶打速度分布曲线。
这其中,捶打速度分布曲线是通过预拟合的高斯函数模型生成的,用于描述捶打动作在竖直方向上的期望速度分布特征。通过捶打速度分布曲线,系统能够量化和理解捶打动作中速度的期望分布。
进一步的,高斯函数的曲线形状和峰值位置反映了捶打动作的速度分布特征。例如,峰值可能对应于捶打动作的主要速度,而曲线的形状则可能显示出动作的持续时间和速度分布的分布情况。
具体来说,系统将步骤S31计算得到的速度分量作为预拟合的高斯函数输入,通过代入得到的速度分量,系统可以计算出对应的高斯函数值,从而得到(实际)捶打速度分布曲线。这条曲线显示了在竖直方向上,捶打动作的期望速度分布,可以在速度的不同范围内显示出高峰值。
S33、计算所述捶打速度分布曲线与根据预拟合的参考曲线的相似度。
具体的,参考曲线是指预先拟合的高斯函数曲线,该曲线用于描述捶打动作在竖直方向上的期望速度分布特征。这其中,高斯函数曲线的峰值位置对应于捶打动作的主要速度,即动作中速度最频繁出现的位置。这个位置反映了捶打动作在竖直方向上的基本速度特征。高斯函数的标准差影响曲线的形状,决定了曲线的宽度。较小的标准差会使曲线更瘦高,而较大的标准差会使曲线更矮宽。
进一步的,相似度是用于度量两个轨迹或数据集之间相似程度的指标。在本申请的技术方案中,相似度用于比较用户的实际速度分布曲线与预先拟合的参考曲线之间的相似程度。
具体来说,在得到捶打速度分布曲线后,可以通过弗雷歇距离、相关性系数、欧氏距离、余弦相似度等相似度度量以量化捶打速度分布曲线与参考曲线的相似度。
S34、根据所述相似度判断用户是否进行捶打动作。
具体的,在计算得到(实际)捶打速度分布曲线与参考曲线之间的相似度后,系统将比较该相似度与预设相似度阈值。该相似度阈值是一个设定的数值,用于判断何时认为实际动作与预期动作相似度足够高。阈值的选择通常基于实验和测试,以确保系统对用户动作的响应在某个相似性水平上是可靠的。
如果相似度值大于或等于预设相似度阈值,系统将判定用户完成了捶打操作;反之,如果相似度值低于预设相似度阈值,系统将判定用户未完成捶打操作。
通过上述步骤,通过比较实际速度分布与预先拟合的高斯函数模型,系统能够更精确地识别捶打动作,提高动作识别的准确性。
在一些实施例中,计算所述捶打速度分布曲线与预拟合的参考曲线的相似度,包括:
S331、根据动态时间规整算法,将所述捶打速度分布曲线和所述参考曲线分别表示为两个由多个点组成的序列。
这其中,动态时间规整(Dynamic Time Warping,DTW)算法是一种用于比较两个序列之间相似度的方法,特别适用于考虑两个序列之间的时序关系和弹性的情况。它常被用于处理时间序列数据的对齐和相似性度量问题。动态时间规整(Dynamic Time Warping,DTW)算法是一种用于比较两个序列之间相似度的方法,特别适用于考虑两个序列之间的时序关系和弹性的情况。它常被用于处理时间序列数据的对齐和相似性度量问题。
具体来说,可以通过间隔采样的方法将捶打速度分布曲线和参考曲线离散化为多个点,或是直接根据跑步动作区间中的时间戳将观测轨迹和预测轨迹划分为多个点。
进一步地,可以将每个点的坐标作为序列中的一个元素,形成两个序列。
S332、根据欧式距离计算两个序列中每两个点之间的距离,并构建一个距离矩阵。
具体来说,欧式距离是点与点之间的直线距离计算方法,可以通过计算坐标之间的欧氏距离来得到。计算得到的距离可以构建成一个距离矩阵。
S333、从距离矩阵的左上角开始,寻找一条到达右下角的最短路径,并将所述路径上的距离之和作为所述捶打速度分布曲线和所述参考曲线之间的相似度。
具体来说,寻找一条到达右下角的最短路径可以通过以下方法实现:
1、从起点开始,按照一定的规则移动到相邻的点。常用的移动规则有以下三种:向右移动:从当前位置向右移动一格;向下移动:从当前位置向下移动一格;向右下移动:从当前位置向右下移动一格。
2、在移动的过程中,选择距离最小的相邻点作为下一个移动的目标点。这可以通过比较相邻点的距离值来确定。
3、重复步骤1和步骤2,直到到达距离矩阵的右下角(终点)。此时,路径上的点即为最短路径。
进一步地,在确定了最短路径后,这条路径上的点代表了在序列对齐过程中选择的最优点,即最小距离的点。该最短路径的距离之和即为观测轨迹和预测轨迹之间的相似度度量。
可以理解,使用动态时间规整(DTW)算法计算捶打速度分布曲线和参考曲线的相似度具有以下优点:
1、考虑时序关系:DTW算法能够捕捉序列数据中的时序关系,因此适用于比较具有时间上的依赖性的数据,如时间序列、运动轨迹等。它不仅考虑了序列元素之间的相似性,还考虑了它们在时间上的对应关系。
2、弹性匹配:DTW算法具有一定的弹性,可以处理两个序列在时序上存在一定偏移或长度不同的情况。它通过允许序列在时间轴上进行非线性的拉伸和压缩,寻找最佳的对齐方式,使得序列在时间上保持一致。
3、泛化能力强:DTW算法对于不同长度、形状、速度和幅度的序列具有较好的泛化能力。它不依赖于固定的模型或假设,而是根据输入数据的特征动态调整对齐路径,因此适用于各种不同的序列数据。
4、鲁棒性强:DTW算法对于噪声和局部变化具有一定的鲁棒性。通过计算距离矩阵并寻找最短路径,它可以在一定程度上抵抗数据中的噪声、局部干扰或不完全对齐的情况。
5、不受缩放影响:DTW算法在计算距离时,通过动态规划寻找最优路径,不受序列的整体缩放或平移影响。这使得它适用于需要比较不同尺度或位置的序列数据。
在一些实施例中,计算所述捶打速度分布曲线和所述参考曲线的相似度,还包括:对所述相似度进行归一化处理。
具体来说,归一化处理可以通过以下步骤完成:
1、确定相似度的最大值和最小值:首先需要确定相似度计算的最大值和最小值。这可以通过样本数据集中的最大相似度和最小相似度来确定,或者根据问题的特定需求来设定。
2、对相似度进行线性归一化:线性归一化是一种常用的归一化方法,可以将相似度值线性映射到指定的范围内,例如[0,1]或[-1,1]。
对于范围[0,1],可以使用公式:归一化相似度=(原始相似度-最小相似度)/(最大相似度-最小相似度);
对于范围[-1,1],可以使用公式:归一化相似度=2*((原始相似度-最小相似度)/(最大相似度-最小相似度))–1;
其中,原始相似度是计算得到的相似度值。
可以理解,通过对相似度进行归一化处理,可以消除相似度值的量纲影响,并确保相似度值在一定范围内,使其更具可解释性和可比性。这样可以更方便地判断捶打速度分布曲线和参考曲线之间的相似程度,并根据需要进行相应的动作判断。
在一些实施例中,在所述体感游戏中执行捶打操作,包括:
S41、根据所述移动指令获取当前捶打位置。
具体的,根据移动指令系统可以实时地控制捶打指示物进行移动,因此,系统可以实施地获取捶打指示物地当前位置。当检测到用户执行锤打动作时,系统可以获取捶打指示物的当前位置作为当前捶打位置。在该当前捶打位置,系统将执行捶打操作。
S42、根据所述当前捶打位置生成捶打结果。
具体的,根据捶打指示物的当前捶打位置,系统能够计算捶打指示物的捶打落点,能够判定当前捶打操作是否捶打成功。基于这些判定结果,系统能够生成对应的捶打指示物的结果。这其中,该捶打结果包括捶打指示物的捶打动画。
S43、根据所述捶打结果生成对应的游戏反馈。
具体的,在生成了捶打指示物的捶打结果后,便可基于这些捶打结果生成对应的游戏反馈,该游戏反馈包括但不限于游戏得分计算、游戏音效及视觉反馈(如不同的捶打结果对应不同的音效或屏幕特效)、游戏进度变更(如触发下一阶段、解锁新的关卡或触发特殊效果)。
通过以上步骤,系统能够将用户的捶打动作与游戏内的反馈紧密结合,提供更加互动和有趣的体感游戏体验。
此外,参照图3,本发明实施例还提出基于函数拟合实现捶打动作识别的体感游戏装置,所述基于函数拟合实现捶打动作识别的体感游戏装置包括:
获取模块110,用于在体感游戏启动后,从绑定的体感设备获取姿态数据,所述姿态数据包括陀螺仪数据和加速度数据;
移动模块120,用于根据所述姿态数据生成移动指令,并根据所述移动指令控制捶打指示物进行移动;
判定模块130,用于根据所述加速度数据和预拟合的高斯函数判断用户是否进行捶打动作;
执行模块140,用于在判定用户完成捶打动作后,在所述体感游戏中执行捶打操作。
其中,基于函数拟合实现捶打动作识别的体感游戏装置的各个功能模块实现的步骤可参照本发明基于函数拟合实现捶打动作识别的体感游戏方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等中的任意一种或者几种的任意组合。计算机可读存储介质中包括基于函数拟合实现捶打动作识别的体感游戏程序10,本发明之计算机可读存储介质的具体实施方式与上述基于函数拟合实现捶打动作识别的体感游戏方法以及服务器1的具体实施方式大致相同,在此不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于函数拟合实现捶打动作识别的体感游戏方法,其特征在于,包括:
在体感游戏启动后,从绑定的体感设备获取姿态数据,所述姿态数据包括陀螺仪数据和加速度数据;
根据所述姿态数据生成移动指令,并根据所述移动指令控制捶打指示物进行移动;
根据所述加速度数据和预拟合的高斯函数判断用户是否进行捶打动作;
若是,则在所述体感游戏中执行捶打操作。
2.如权利要求1所述的基于函数拟合实现捶打动作识别的体感游戏方法,其特征在于,在根据所述姿态数据生成移动指令之前,所述方法还包括:
根据所述加速度数据计算所述体感设备在当前采样时刻的移动速度;
比较所述移动速度与预设的速度阈值;
若所述移动速度小于所述预设的速度阈值,则删除体感设备在当前采样时刻采集的姿态数据。
3.如权利要求2所述的基于函数拟合实现捶打动作识别的体感游戏方法,其特征在于,根据所述姿态数据生成移动指令,包括:
在执行体感游戏的终端上生成一个由多个网格单元组成的网格地图,以及一个与所述体感设备相匹配的虚拟刚体;
根据所述陀螺仪数据和所述加速度数据更新所述虚拟刚体在所述网格地图中的位置;
根据所述虚拟刚体在所述网格地图中移动过程中经过的网格单元的坐标生成所述体感设备的轨迹数据;
根据所述轨迹数据生成所述移动指令。
4.如权利要求3所述的基于函数拟合实现捶打动作识别的体感游戏方法,其特征在于,根据所述陀螺仪数据和所述加速度数据更新所述虚拟刚体在所述网格地图中的位置,包括:
根据所述陀螺仪数据和所述加速度数据计算所述体感设备在水平面内的位移数据;
根据所述水平面内的位移调整更新所述虚拟刚体在所述网格地图中的位置。
5.如权利要求1或2所述的基于函数拟合实现捶打动作识别的体感游戏方法,其特征在于,根据所述加速度数据和预拟合的高斯函数判断用户是否进行捶打动作,包括:
获取根据所述陀螺仪数据和加速度数据计算所述体感设备向下运动时沿竖直方向的速度分量;
将所述速度分量代入所述预拟合的高斯函数,得到捶打速度分布曲线;
计算所述捶打速度分布曲线与根据预拟合的参考曲线的相似度;
根据所述相似度判断用户是否进行捶打动作。
6.如权利要求5所述的基于函数拟合实现捶打动作识别的体感游戏方法,其特征在于,计算所述捶打速度分布曲线与预拟合的参考曲线的相似度,包括:
根据动态时间规整算法,将所述捶打速度分布曲线和所述参考曲线分别表示为两个由多个点组成的序列;
根据欧式距离计算两个序列中每两个点之间的距离,并构建一个距离矩阵;
从距离矩阵的左上角开始,寻找一条到达右下角的最短路径,并将所述路径上的距离之和作为所述捶打速度分布曲线和所述参考曲线之间的相似度。
7.如权利要求1所述的基于函数拟合实现捶打动作识别的体感游戏方法,其特征在于,在所述体感游戏中执行捶打操作,包括:
根据所述移动指令获取当前捶打位置;
根据所述当前捶打位置生成捶打结果;
根据所述捶打结果生成对应的游戏反馈。
8.一种基于函数拟合实现捶打动作识别的体感游戏装置,其特征在于,包括:
获取模块,用于在体感游戏启动后,从绑定的体感设备获取姿态数据,所述姿态数据包括陀螺仪数据和加速度数据;
移动模块,用于根据所述姿态数据生成移动指令,并根据所述移动指令控制捶打指示物进行移动;
判定模块,用于根据所述加速度数据和预拟合的高斯函数判断用户是否进行捶打动作;
执行模块,用于在判定用户完成捶打动作后,在所述体感游戏中执行捶打操作。
9.一种基于函数拟合实现捶打动作识别的体感游戏设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的基于函数拟合实现捶打动作识别的体感游戏程序,所述处理器执行所述基于函数拟合实现捶打动作识别的体感游戏程序时实现如权利要求1-7中任一项所述的基于函数拟合实现捶打动作识别的体感游戏方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于函数拟合实现捶打动作识别的体感游戏程序,所述基于函数拟合实现捶打动作识别的体感游戏程序被处理器执行时实现如权利要求1-7中任一项所述的基于函数拟合实现捶打动作识别的体感游戏方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311578973.9A CN117379791A (zh) | 2023-11-22 | 2023-11-22 | 基于函数拟合实现捶打动作识别的体感游戏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311578973.9A CN117379791A (zh) | 2023-11-22 | 2023-11-22 | 基于函数拟合实现捶打动作识别的体感游戏方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117379791A true CN117379791A (zh) | 2024-01-12 |
Family
ID=89472161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311578973.9A Pending CN117379791A (zh) | 2023-11-22 | 2023-11-22 | 基于函数拟合实现捶打动作识别的体感游戏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117379791A (zh) |
-
2023
- 2023-11-22 CN CN202311578973.9A patent/CN117379791A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10960298B2 (en) | Boolean/float controller and gesture recognition system | |
US8395620B2 (en) | Method and system for tracking of a subject | |
JP6062621B2 (ja) | 物理モデルに基づくジェスチャ認識 | |
WO2017020766A1 (zh) | 场景提取方法、物体定位方法及其系统 | |
US20130010071A1 (en) | Methods and systems for mapping pointing device on depth map | |
US20130077820A1 (en) | Machine learning gesture detection | |
CN104769640A (zh) | 使用多个传感器来进行绘图与定位 | |
US20140009384A1 (en) | Methods and systems for determining location of handheld device within 3d environment | |
KR102491389B1 (ko) | 코딩 학습용 로봇 제어 시스템 | |
CN116251343A (zh) | 基于投掷动作的体感游戏方法 | |
CN117379791A (zh) | 基于函数拟合实现捶打动作识别的体感游戏方法 | |
CN117504294A (zh) | 基于函数拟合实现体感篮球游戏的方法 | |
CN116637359A (zh) | 基于unity引擎的体感跳跃游戏方法 | |
CN116637362A (zh) | 基于unity引擎的体感跑步游戏方法 | |
CN116637363A (zh) | 基于unity引擎的体感游戏方法 | |
CN116650953A (zh) | 基于unity引擎的体感网球游戏方法 | |
CN116637361A (zh) | 基于unity引擎的体感拳击游戏方法 | |
CN116650952A (zh) | 基于函数拟合实现的体感滑雪游戏方法 | |
CN116637360A (zh) | 基于函数拟合的体感乒乓球游戏方法 | |
KR101605740B1 (ko) | 스마트폰 사용자의 개인화된 동작인식 방법 및 이를 이용한 게임방법 | |
CN117357901A (zh) | 基于函数拟合实现体感羽毛球游戏的方法 | |
CN116889729A (zh) | 基于函数拟合的体感拳击游戏方法 | |
CN117138325A (zh) | 基于函数拟合的体感跳绳游戏方法 | |
CN118454218A (zh) | 体感音乐游戏方法、装置、设备及计算机可读存储介质 | |
Chu et al. | A study of motion recognition system using a smart phone |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |