匹配游戏输出数据与虚拟现实座椅的方法、装置和系统
技术领域
本发明涉及虚拟现实技术领域,特别涉及一种匹配游戏输出数据与虚拟现实动感座椅的方法、装置和虚拟现实游戏系统。
背景技术
目前市面上的动感座椅游戏机,主要运行状态为:体验用户佩戴虚拟现实(Virtual Reality,简称VR)头戴设备坐在VR动感座椅上,动感座椅及VR显示器连接在游戏主机,游戏主机运行游戏显示在VR头戴设备中,游戏主机中运行的游戏输出运动数据控制动感座椅运动,模拟出游戏中加速减速俯仰偏转等真实的体验感觉。
因为动感座椅需要和游戏输出的运动数据进行匹配,才能正确地模拟出游戏中运动物体的动作。为了进行正确的匹配,现有技术中一般是将游戏和虚拟现实动感座椅进行配套生产并出售,一个虚拟现实动感座椅只能适用于一款游戏。这样就使得虚拟现实动感座椅的普适性差,降低用户体验。
所以急需一种游戏输出的数据与虚拟现实座椅匹配的方案。
发明内容
鉴于上述问题,提出了本发明的一种匹配游戏输出数据与虚拟现实动感座椅的方法、装置和虚拟现实游戏系统,以便解决或至少部分地解决上述问题。
根据本发明的一个方面,提供了一种匹配游戏输出数据与虚拟现实动感座椅的方法,所述方法包括:
获取游戏中运动物体进行一次X轴直线加速时所述游戏输出的Y轴加速度;
判断所述Y轴加速度的值是否小于预设阈值;
若判断为否,则确定所述游戏输出的数据与所述游戏中的游戏世界坐标系下的数据一致,将所述游戏输出的数据转换成所述运动物体自身坐标系下的数据,再将转换后的所述游戏输出的数据输出给虚拟现实动感座椅,以便所述虚拟现实动感座椅根据转换后的所述游戏输出的数据进行运动;
其中,所述运动物体自身坐标系是以所述运动物体的中心为原点,所述运动物体前后运动方向为X轴,所述运动物体左右运动方向为Y轴。
根据本发明的另一个方面,提供了一种匹配游戏输出数据与虚拟现实动感座椅的装置,所述装置包括:
获取单元,用于获取游戏中运动物体进行一次X轴直线加速时所述游戏输出的Y轴加速度;
判断单元,用于判断所述Y轴加速度的值是否小于预设阈值;
转换单元,用于若判断为否,则确定所述游戏输出的数据与所述游戏中的游戏世界坐标系下的数据一致,将所述游戏输出的数据转换成所述运动物体自身坐标系下的数据;再将转换后的所述游戏输出的数据输出给虚拟现实动感座椅,以便所述虚拟现实动感座椅根据转换后的所述游戏输出的数据进行运动;
输出单元,用于将转换后的所述游戏输出的数据输出给虚拟现实动感座椅,以便所述虚拟现实动感座椅根据转换后的所述游戏输出的数据进行运动;
其中,所述运动物体自身坐标系是以所述运动物体的中心为原点,所述运动物体前后运动方向为X轴,所述运动物体左右运动方向为Y轴。
根据本发明的又一个方面,提供了一种匹配游戏输出数据与虚拟现实动感座椅的装置,所述装置包括存储器和处理器,所述存储器存储有能够被所述处理器执行的计算机程序,所述计算机程序被所述处理器执行时能够实现如前的任一项所述的方法步骤。
根据本发明的再一个方面,提供了一种虚拟现实游戏系统,所述系统包括:虚拟现实动感座椅、游戏主机和虚拟现实头戴显示设备;
所述虚拟现实动感座椅,用于根据所述游戏主机输出的数据完成模拟运动;
所述虚拟现实头戴显示设备,用于显示游戏画面;
所述游戏主机包括如前任一项所述的匹配游戏输出数据与虚拟现实动感座椅的装置。
综上所述,本发明通过判断游戏中的运动物体进行一次X轴直线加速时游戏输出的Y轴加速度是否小于预设阈值,来判断游戏输出的数据是否与运动物体自身坐标系下的数据一致,如果判断为否,就先将游戏输出的数据进行坐标系的转换,使得游戏输出的数据与运动物体自身坐标系下的数据一致,然后再将数据输出给虚拟现实动感座椅,因为虚拟现实动感座椅的运动所遵循的数据是符合运动物体自身坐标系,用户使用虚拟现实动感座椅就可以模拟出符合运动物体自身的运动状态。可见,通过本技术方案,在不改变硬件结构的前提下,实现游戏输出的数据与虚拟现实座椅的匹配,一方面可更加真实的模游戏中运动物体的运动状态;另一方面,同一个虚拟现实座椅可以和多个游戏进行匹配,使得虚拟现实动感座椅具有普适性,增强用户体验。
附图说明
图1为本发明一个实施例提供的一种匹配游戏输出数据与虚拟现实动感座椅的方法的流程示意图;
图2为本发明一个实施例提供的一种游戏世界坐标系转换为运动物体自身坐标系的示意图;
图3为本发明一个实施例提供的一种匹配游戏输出数据与虚拟现实动感座椅的装置的功能结构示意图;
图4为本发明另一个实施例提供的一种匹配游戏输出数据与虚拟现实动感座椅的装置的功能结构示意图;
图5为本发明又一个实施例提供的一种匹配游戏输出数据与虚拟现实动感座椅的装置的结构示意图;
图6为本发明一个实施例提供的一种虚拟现实游戏系统的结构示意图。
具体实施方式
本发明的涉及思路是:游戏输出的数据一般符合两种坐标系,一是游戏世界坐标系,另一个是运动物体自身坐标系,要将匹配游戏输出数据与虚拟现实动感座椅,需要解决的问题就是如何确定游戏输出的数据的坐标系。针对游戏输出数据的坐标系进行分别处理以匹配运动物体自身坐标系,保证用户在动感座椅上的体验与游戏中运动物体的动作的一致性,本发明提供了一种匹配游戏输出数据与虚拟现实动感座椅的方案,通过判断游戏中的运动物体进行一次X轴直线加速时游戏输出的Y轴加速度是否小于预设阈值,来判断游戏输出的数据的坐标系。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1为本发明一个实施例提供的一种匹配游戏输出数据与虚拟现实动感座椅的方法的流程示意图。如图1所示,该方法包括:
步骤S110,获取游戏中运动物体进行一次X轴直线加速时游戏输出的Y轴加速度。
在游戏系统中只预留出接收游戏数据的TCP或UDP配置信息,游戏调试人员可把需要适配的游戏输出数据通过socket的配置,与游戏系统实现对接,这里的游戏系统可以是计算机。在用户首次进行该游戏时,用户开启游戏系统,进入配置接口配置,并提示用户校准游戏坐标系。如果游戏输出的数据不是游戏中运动物体自身坐标系下的,而是游戏世界坐标系下的,可能会导致虚拟现实动感座椅的模拟运动不准确。例如,运动物体应该是向前运动,虚拟现实动感座椅的运动也应该是向前的,但是如果游戏输出的数据是游戏世界坐标系下的数据,可能导致虚拟现实动感座椅向右前方运动。所以为了让虚拟现实动感座椅更加真实的模拟运动物体的运动,需要判断游戏输出的数据符合的坐标系。
在进行坐标系校准时,会提示用户进行一次X轴直线加速的操作,即使游戏中的运动物体进行一次X轴直线加速,如果游戏输出的数据是运动物体自身坐标系下的,那么其输出的Y轴加速度是零或者因运动影响而产生一个很小的加速度值。所以只需要判断Y轴加速度值就可以确定游戏输出的数据符合哪个坐标系了。因为游戏输出的数据直接是X轴加速度值、Y轴加速度值、Z轴加速度值,以及旋转角速度,所以Y轴加速度可以直接获得。
步骤S120,判断Y轴加速度的值是否小于预设阈值。
例如,预设阈值可以设置为1m/s2。
步骤S130,若判断为否,则确定游戏输出的数据与游戏中的游戏世界坐标系下的数据一致,将游戏输出的数据转换成运动物体自身坐标系下的数据,再将转换后的游戏输出的数据输出给虚拟现实动感座椅,以便虚拟现实动感座椅根据转换后的游戏输出的数据进行运动。
这里的游戏世界坐标系是游戏制作方自行定义的,其输出的数据符合的坐标系也是制作方定义的,可以是游戏世界坐标系下的,也可以是运动物体自身坐标系下的。
当确定游戏输出的数据与游戏中的游戏世界坐标系下的数据一致时,将游戏输出的数据转换成运动物体自身坐标系下的数据后,再输出给虚拟现实动感座椅即可。
在上述的判断中,若判断为是,则确定游戏输出的数据与运动物体自身坐标系下的数据一致,将游戏输出的数据输出给虚拟现实动感座椅,以便虚拟现实动感座椅直接根据游戏输出的数据进行运动。
在本实施例中,上述的运动物体自身坐标系是以运动物体的中心为原点,运动物体前后运动方向为X轴,运动物体左右运动方向为Y轴。例如,运动物体向前运动方向为X轴的正方向,运动物体向左运动方向为Y轴的正方向。
可见,通过本技术方案,在不改变硬件结构的前提下,实现游戏输出的数据与虚拟现实座椅的匹配,一方面可更加真实的模游戏中运动物体的运动状态;另一方面,同一个虚拟现实座椅可以和多个游戏进行匹配,使得虚拟现实动感座椅具有普适性,增强用户体验。
在本发明的一个实施例中,步骤S130中的将游戏输出的数据转换成运动物体自身坐标系下的数据包括:
获取游戏输出的X轴加速度和Y轴加速度,以及运动物体的运动方向与游戏世界坐标系的X轴正向的第一夹角;
利用游戏输出的X轴加速度和游戏输出的Y轴加速度,计算游戏输出的X轴加速度和游戏输出的Y轴加速度的矢量和,第二夹角为X轴加速度与X轴加速度和游戏输出的Y轴加速度的矢量和之间夹角,可通过计算求出;
利用矢量和、第一夹角和第二夹角,根据公式:
计算运动物体自身坐标系下的X轴加速度和运动物体自身坐标系下的Y轴加速度,其中,θ是第一夹角,α是第二夹角,
是矢量和,
是运动物体自身坐标系下的X轴加速度,
运动物体自身坐标系下的Y轴加速度。
在一个具体的例子中,图2为本发明一个实施例提供的一种游戏世界坐标系转换为运动物体自身坐标系的示意图。如图2所示,坐标系X-Y为游戏世界坐标系,坐标系M-N是以游戏运动物体中心为原点的坐标系。其中,
为驾驶舱右向加速度;
为运动物体前向的加速度;
为游戏输出的X轴加速度;
为游戏输出的Y轴加速度;
为游戏中运动物体在X-Y坐标系中的加速度矢量和;角度α为
和
夹角;角度θ为运动物体的朝向沿X轴正方向逆时针旋转角。
在上述的各参数中,
可以从游戏输出的数据中直接获得;
由以上各值可求取:
其中,角度β可由α和θ相减获得。
其中,角度β可由α和θ相减获得。
需要说明的是,在实际运用中,考虑α和θ角大小问题,前者可能比后者大也可能比后者小,所以这里取α-θ的绝对值。
由于游戏本身为虚拟物体的设计及运动,因此所设计物体的运动一般很难做到与真实运动数据相匹配。游戏输出的数据,包含比较大的跳变数据及噪声数据。在游戏输出数据后,考虑到数据变化太剧烈,直接输出到虚拟现实动感座椅中会造成虚拟现实动感座椅中的额运动控制器的损坏,所以,在本发明的一个实施例中,在步骤S130中的将转换后的游戏输出的数据输出给虚拟现实动感座椅之前,图1所示的方法进一步包括:对输出给虚拟现实动感座椅的数据进行平滑处理。
或者,在确定游戏输出的数据与运动物体自身坐标系下的数据一致的情况下,将游戏输出的数据输出给虚拟现实动感座椅之前,对输出给虚拟现实动感座椅的数据同样也要进行平滑处理。
在进行平滑处理时,所针对的数据可能是跳变数据或噪声数据,上述的对输出给虚拟现实动感座椅的数据进行平滑处理包括:
(1)针对跳变数据,获取相邻的第一预设数目个数据,计算第一预设数目个数据的平均值,判断第一预设数目个数据的中间位置的数据和平均值的差值是否大于预设阈值,若判断为是,则计算获取的去除中间位置的数据的其他数据的平均值,使用其他数据的平均值更新中间位置的数据。
例如,相邻3个数据取平均值a、b、c,来确定中间位置数据b是否正常,若b与均值的差值大于第一预设阈值,就舍弃掉数据b,重新计算数据a和c的平均值,用此平均值取代数据b。
(2)针对噪声数据,获取相邻的第二预设数目个数据,计算第二预设数目个数据的平均值,使用平均值更新第二预设数目个数据的中间位置的数据。
例如,取5个数据,即取数据y1、y2、y3、y4、y5求取平均值取代中间的y3;即:
将游戏输出的数据经过平滑处理后,再输出给虚拟现实动感座椅,对虚拟现实动感座椅起到保护的作用,进一步优化游戏输出的数据与虚拟现实动感座椅的匹配效果。
需要说明的是,上述(1)和(2)可以单独使用也可以结合使用,在这里不做具体限定。
图3为本发明一个实施例提供的一种匹配游戏输出数据与虚拟现实动感座椅的装置的功能结构示意图。如图3所示,该匹配游戏输出数据与虚拟现实动感座椅的装置300包括:
获取单元310,用于获取游戏中运动物体进行一次X轴直线加速时游戏输出的Y轴加速度。
判断单元320,用于判断Y轴加速度的值是否小于预设阈值。
转换单元330,用于若判断为否,则确定游戏输出的数据与游戏中的游戏世界坐标系下的数据一致,将游戏输出的数据转换成运动物体自身坐标系下的数据;再将转换后的游戏输出的数据输出给虚拟现实动感座椅,以便虚拟现实动感座椅根据转换后的游戏输出的数据进行运动。
输出单元340,用于将转换后的游戏输出的数据输出给虚拟现实动感座椅,以便虚拟现实动感座椅根据转换后的游戏输出的数据进行运动。
那么,若判断为是时,上述的输出单元340,还用于若判断为是,则确定游戏输出的数据与运动物体自身坐标系下的数据一致,将游戏输出的数据输出给虚拟现实动感座椅,以便虚拟现实动感座椅直接根据游戏输出的数据进行运动。
其中,运动物体自身坐标系是以运动物体的中心为原点,运动物体前后运动方向为X轴,运动物体左右运动方向为Y轴。
在本发明的一个实施例中,转换单元330具体用于,
获取游戏输出的X轴加速度和Y轴加速度,以及运动物体的运动方向与游戏世界坐标系的X轴正向的第一夹角;利用游戏输出的X轴加速度和游戏输出的Y轴加速度,计算游戏输出的X轴加速度和游戏输出的Y轴加速度的矢量和,以及游戏世界坐标系下的X轴正向与矢量和之间的第二夹角;利用矢量和、第一夹角和第二夹角,根据公式:
计算运动物体自身坐标系下的X轴加速度和运动物体自身坐标系下的Y轴加速度,其中,θ是第一夹角,α是第二夹角,
是矢量和,
是运动物体自身坐标系下的X轴加速度,
运动物体自身坐标系下的Y轴加速度。
图4为本发明另一个实施例提供的一种匹配游戏输出数据与虚拟现实动感座椅的装置的功能结构示意图。如图4所示,该匹配游戏输出数据与虚拟现实动感座椅的装置400包括:获取单元410、判断单元420、转换单元430、输出单元440和平滑处理单元450。其中,获取单元410、判断单元420、转换单元430、输出单元440和图3所示的获取单元310、判断单元320、转换单元330、输出单元340具有对应相同的功能,相同的部分在此不再赘述。
平滑处理单元450,用于在将转换后的游戏输出的数据输出给虚拟现实动感座椅之前,对输出给虚拟现实动感座椅的数据进行平滑处理。
在本发明的一个实施例中,平滑处理单元450具体用于,
获取相邻的第一预设数目个数据,计算第一预设数目个数据的平均值,判断第一预设数目个数据的中间位置的数据和平均值的差值是否大于预设阈值,若判断为是,则计算获取的去除中间位置的数据的其他数据的平均值,使用其他数据的平均值更新中间位置的数据;
和/或,
获取相邻的第二预设数目个数据,计算第二预设数目个数据的平均值,使用平均值更新第二预设数目个数据的中间位置的数据。
图5为本发明又一个实施例提供的一种匹配游戏输出数据与虚拟现实动感座椅的装置的结构示意图;如图5所示,匹配游戏输出数据与虚拟现实动感座椅的装置500包括存储器510和处理器520,存储器510和处理器520之间通过内部总线530通讯连接,存储器510存储有能够被处理器520执行的匹配游戏输出数据与虚拟现实动感座椅的计算机程序511,该匹配游戏输出数据与虚拟现实动感座椅的计算机程序511被处理器520执行时能够实现图1中所示的方法步骤。
在不同的实施例中,存储器510可以是内存或者非易失性存储器。其中非易失性存储器可以是:存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。内存可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存。进一步,非易失性存储器和内存作为机器可读存储介质,其上可存储由处理器520执行的匹配游戏输出数据与虚拟现实动感座椅的计算机程序511。
图6为本发明一个实施例提供的一种虚拟现实游戏系统的结构示意图。如图6所示,该虚拟现实游戏系统包括:虚拟现实动感座椅610、游戏主机620和虚拟现实头戴显示设备630.
虚拟现实动感座椅610,用于根据游戏主机620输出的数据完成模拟运动。
虚拟现实头戴显示设备630,用于显示游戏画面。
游戏主机620包括如图3或图4或图5任一个所示的匹配游戏输出数据与虚拟现实动感座椅的装置621。
需要说明的是,图3、图4、图5所示的装置和图6所示的系统的各实施例与图1所示的方法的各实施例对应相同,上文已有详细说明,在此不再赘述。
综上所述,本发明通过判断游戏中的运动物体进行一次X轴直线加速时游戏输出的Y轴加速度是否小于预设阈值,来判断游戏输出的数据是否与运动物体自身坐标系下的数据一致,如果判断为否,就先将游戏输出的数据进行坐标系的转换,使得游戏输出的数据与运动物体自身坐标系下的数据一致,然后再将数据输出给虚拟现实动感座椅,因为虚拟现实动感座椅的运动所遵循的数据是符合运动物体自身坐标系,用户使用虚拟现实动感座椅就可以模拟出符合运动物体自身的运动状态。可见,通过本技术方案,在不改变硬件结构的前提下,实现游戏输出的数据与虚拟现实座椅的匹配,一方面可更加真实的模游戏中运动物体的运动状态;另一方面,同一个虚拟现实座椅可以和多个游戏进行匹配,使得虚拟现实动感座椅具有普适性,增强用户体验。
以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。