一种体感设备数据转换的方法及系统与流程

文档序号:13363429阅读:279来源:国知局

本发明涉及虚拟现实技术领域,特别涉及一种体感设备数据转换的方法及系统。



背景技术:

虚拟现实技术(又称vr技术)是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。

虚拟现实产业链中存在有大量的体感设备,如4d座椅、六自由度平台、三自由度、四自由度或六自由度驾驶模拟器等。上述体感设备可以通过感应器,接收玩家的动作或语音信息,从而可以完成游戏的转换。体感设备突破了传统意义上的游戏模式,让玩家可以丢掉手中的游戏控制手柄,即不通过直接接触的方式来进行交互。

在现有技术中,体感设备的软件驱动方式主要有两种,一种是使用4d影片播放器,并采用预录制的体感数据配合影片播放以实现线性体感,但是该技术无法做到与游戏内容智能匹配;另一种是通过硬件简单解析的方式达到体感的目的,例如:使用方向盘直接控制设备转向,或使用油门及刹车控制设备的加速的体感,但是该技术无法保证体感表现与游戏内容完全匹配。

因此,如何将游戏中虚拟物体运动状态准确地转化为体感设备的体感表现,是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种体感设备数据转换的方法及系统,能够将游戏中虚拟物体运动状态准确地转化为体感设备的体感表现。

为解决上述技术问题,本申请提供一种体感设备数据转换的方法及系统,该方法包括:

接收虚拟物体的运动信息;

对所述运动信息进行分析,得到所述虚拟物体的运动趋势数据;

利用所述运动趋势数据进行模拟运动,得到所述体感设备的驱动器参数;

将所述驱动器参数发送至对应的体感设备控制器。

可选的,所述接收虚拟物体的运动信息包括:

按预定周期接收所述虚拟物体的所述运动信息。

可选的,对所述运动信息进行分析,得到所述虚拟物体的运动趋势数据包括:

根据所述运动信息计算得到所述虚拟物体的位置向量和欧拉角度向量;

通过所述位置向量计算得到所述移动趋势数据;

通过所述欧拉角度向量计算得到所述转向趋势数据。

可选的,利用所述运动趋势数据进行模拟运动,得到所述体感设备的驱动器参数包括:

根据所述移动趋势数据和所述转动趋势数据得到所述体感设备的运动趋势向量;

在虚拟空间中,模拟所述体感设备根据所述运动趋势向量运动,并记录在运动过程中驱动器的运动情况;

根据所述运动情况得到所述体感设备的所述驱动器参数。

可选的,该方法还包括:

在得到所述驱动器参数后,对所述体感设备进行限位处理。

本申请还提供了一种体感设备数据转换的系统,所述系统包括:

数据接收模块,用于接收虚拟物体的运动信息;

运动趋势解析模块,用于对所述运动信息进行分析,得到所述虚拟物体的运动趋势数据;

设备形式模拟器模块,用于利用所述运动趋势数据进行模拟运动,得到所述体感设备的驱动器参数;

体感数据输出模块,用于将所述驱动器参数发送至对应的体感设备控制器。

可选的,所述接收模块具体为按预定周期接收所述虚拟物体的所述运动信息的模块。

可选的,所述运动趋势解析模块包括:

向量计算单元,用于根据所述运动信息计算得到所述虚拟物体的位置向量和欧拉角度向量;

移动计算单元,用于通过所述位置向量计算得到所述移动趋势数据;

转向计算单元,用于通过所述欧拉角度向量计算得到所述转向趋势数据。

可选的,所述设备形式模拟器模块包括:

趋势向量计算单元,用于根据所述移动趋势数据和所述转动趋势数据得到所述体感设备的运动趋势向量;

模拟单元,用于在虚拟空间中,模拟所述体感设备根据所述运动趋势向量运动,并记录在运动过程中驱动器的运动情况;

参数记录单元,用于根据所述运动情况得到所述体感设备的所述驱动器参数。

可选的,该系统还包括:

安全限位模块,用于在得到所述驱动器参数后,对所述体感设备进行限位处理。

本发明提供了一种体感设备数据转换的方法,接收虚拟物体的运动信息;对所述运动信息进行分析,得到所述虚拟物体的运动趋势数据;利用所述运动趋势数据进行模拟运动,得到所述体感设备的驱动器参数;将所述驱动器参数发送至对应的体感设备控制器。

本方法接收游戏中将某一时刻的虚拟物体的运动信息,为了保证体感表现与游戏中的运动状态一致,需要保证使用体感设备的用户的运动信息与虚拟物体的运动信息保持一致,也就是说需要保持虚拟物体的运动趋势与用户的运动趋势保持一致。运动信息包含很多种类,对运动信息进行分析,可以得到虚拟物体运动的趋势,运动趋势由两部分组成,分别是位移方向和转动角度,有了上述两个关键要素即可体感设备即可使用户感受到与游戏内容相一致的体感表现。由于运动趋势是各个驱动器共同作用的结果,所以可以由运动趋势这个结果逆向推导得到各个驱动器的具体参数。利用模拟得到的驱动器参数,在显示设备中获得与虚拟物体一致的运动趋势,进而保证了体感表现与游戏中的运动状态一致。这种将虚拟设备运动趋势转换为体感设备的体感表现的方法,将游戏中虚拟物体运动状态准确地转化为体感设备的体感表现,具有较高的灵活性,能够根据游戏进程中出现的各种情况动态生成,体感真实感更强。本申请同时还提供了一种体感设备数据转换的系统,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请中提供的一种体感设备数据转换的方法所处于的硬件环境示意图;

图2为本申请实施例所提供的一种体感设备数据转换的方法的流程图;

图3为橡皮筋运动趋势算法示意图;

图4为图2所示实施例中六自由度平台模拟运动示意图;

图5为本申请实施例所提供的另一种体感设备数据转换的方法的流程图;

图6-a为图5所示实施例中为对体感设备进行限位的实物示意图;

图6-b为图5所示实施例中为对体感设备进行限位的原理示意图;

图7为本申请提供的一种体感设备数据转换的系统的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请所提供的一种体感设备数据转换的方法及系统,可以应用于以下硬件场景中:

请参考图1,图1为本申请中提供的一种体感设备数据转换的方法所处于的硬件环境示意图,包括虚拟现实主机101、体感设备102。

其中,虚拟现实主机101是与虚拟现实技术领域相关的硬件产品,即虚拟现实解决方案中用到的硬件设备。现阶段虚拟现实中常用到的虚拟现实主机101下辖多个功能模块,例如:建模模块,用于进行3d扫描仪;三维视觉显示模块,用于提供3d视觉效果;声音模块,用于提供三维的声音效果。市面上的虚拟现实主机101有很多种类,只要是能够为用户提供虚拟现实感受的设备即可,此处并不对虚拟现实主机101的具体型号进行限定。体感设备102是一种将虚拟现实中的运动效果真实反馈给用户的设备,可以将虚拟现实中的上升、下降、偏转、旋转、加速度、离心力、碰撞、跌落等运动状态真实地呈现给用户以体验。

下面请参见图2、图3、图4,图2为本申请实施例所提供的一种体感设备数据转换的方法的流程图;图3为橡皮筋运动趋势算法示意图;图4为图2所示实施例中六自由度平台模拟运动示意图。

具体步骤可以包括:

步骤s201:接收虚拟物体的运动信息;

其中,本步骤中提到的虚拟物体是指在游戏中以用户为主体的物体,并不是游戏中所有的物体,例如,在赛车游戏中所述虚拟物体是用户操作的车辆,在格斗游戏中所述虚拟物体是指用户操作的游戏人物,也就是说接收是与用户为主体的虚拟物体的运动信息,不接受非用户所操控的虚拟物体的运动信息。当然,所述虚拟物体可以是游戏中的物体,也可以是游戏中的虚拟人物。

可以理解的是,本步骤接收的运动信息的动作可以包括上升、下降、偏转、旋转、加速度、离心力、碰撞、跌落等,但在转化为运动信息时只包含三类信息,分别为三维空间极坐标信息、三维空间朝向角度信息和本条数据形成时的绝对时间。

三维空间极坐标信息是指虚拟物体在游戏的虚拟空间内的位置坐标,在大多数情况下,虚拟现实游戏都设定在一个三维空间中,故接收虚拟物体的三维空间极坐标信息,若接收的是在二维平面游戏中的虚拟物体的运动信息时,可以省去一个维度的坐标,只接收二维空间极坐标信息即可。三维空间朝向角度信息是指虚拟物体在游戏的虚拟空间中自身旋转情况的信息,其旋转的中心可以是自身的某一点,也可以是空间中的某一点,若在二维平面游戏中,只考虑虚拟物体在平面内旋转即可。绝对时间是指本条运动信息数据形成的时间点,绝对时间可以采用真实世界中的时间作为参考,也可以采用游戏中的游戏时间作为参考;当然采用真实世界中的时间可以保证绝对时间准确无误,但采取游戏时间作为绝对时间的参考在某种情况下有利于提升用户体验;但只要将每一时刻的信息数据分开即可,此处并不对绝对时间的设置方法进行具体的限定。

接收运动信息可以采用多种格式,例如数据接口的格式为<x、y、z、u、v、w、t>,其中x、y、z、代表虚拟物体的三维空间极坐标,u、v、w代表虚拟物体的三维空间朝向角度坐标,即欧拉角,t代表本条数据形成时的绝对时间。

可以理解的是,虚拟现实游戏的体感表现是一个实时且连续的过程,对于虚拟物体的运动信息的采集并不是间断性地进行的。可以在游戏开始时就预设周期为用户提供运动体感,也可以在用户有运动体感需求时再为用户提供运动体感。其中,采集运动体感的周期的设定,应该满足用户可以体验连续的运动体感,具体的周期可以根据游戏内容和用户敏感程度进行调节,此处并不对采集运动信息的周期的方法、具体数值进行限定。当然,某些游戏在运动较为激烈时,虚拟物体的运动状态变化得很快,此时可以设定阈值,当虚拟物体的运动状态变化率超过该阈值时,减小采集运动信息的周期,为用户提供更加细腻的游戏体验。

其中,本步骤能够接收任意接口传来的运动信息,任意游戏只要采用通用接口的数据格式传输,即可实现对运动信息的接收。

步骤s202:对所述运动信息进行分析,得到所述虚拟物体的运动趋势数据;

其中,步骤s201接收的运动信息仅仅是虚拟物体运动的各项数据,并没有对各项数据进行相关的计算和分析。本步骤的目的是获取虚拟物体的运动趋势,通过虚拟物体的运动信息计算得到运动趋势的方法有很多,可以建立三维虚拟模型进行分析、也可以编写相关程序进行计算。在本步骤中还可以采用橡皮筋运动趋势算法。

橡皮筋运动趋势算法,是将所要描述的运动趋势通过一种动态逼近的方法来描述。请参见图3,假设t0时一个物体a以不断变化的速度持续向一个方向移动,设置一个跟随物体b在极短且相等的时间段内以ab间距离的1/n接近a,当t1时a加速,ab间距离将被拉大,反之,当t2时a减速,ab间距离将会缩小,将ab间距的变化作为运动趋势用以描述物体a的运动方式,此种方法好比是在ab之间拉上一条橡皮筋,让物体a带动物体b运动,而橡皮筋的长度即可表示为物体a的运动趋势,故称之为橡皮筋趋势,n可以称之为橡皮筋系数。

在实施例中,将橡皮筋趋势概念运用于表示物体移动的位置向量和表示物体转向角度的欧拉角向量,即可充分描述物体的体感动作。也就是说,虚拟物体是橡皮筋的带动端,体感设备是橡皮筋的被带动端,橡皮筋系数n是体感设备响应虚拟物体运动的响应速度。

其伪代码可以表述为:

可以理解的是,本文中所有关于体感设备的运动并不是体感设备在现实空间中的位置发生改变,而是指用户使用体感设备时感受运动的体验点的运动。

在此代码中,橡皮筋系数n和m分别用于调节物体接近的速度,实际运用中代表着运动趋势的响应速度,n越大,表示橡皮筋弹力越小,体感设备接近越慢,趋势越平稳,但响应速度越慢,反之n越小,表示橡皮筋弹力越大,体感设备接近速度越快,其趋势越剧烈,响应速度越快。

当然,在用户进行游戏操作时,虚拟物体的运动状态可能会出现极端情况,如飞出跑道、翻车等,此时体感设备若要真实反映虚拟物体的运动趋势将会对用户的身体健康造成损害,因此可以对某些会对用户造成不利影响的运动设置告警性质的震动,并不真实模拟游戏中的真实状态。

步骤s203:利用所述运动趋势数据进行模拟运动,得到所述体感设备的驱动器参数;

其中,本步骤是根据虚拟物体的运动趋势进行模拟,对该运动进行可行性分析,并将模拟过程中的各项参数运用于显示设备中。通常来讲,体感设备的运动是系统向各驱动器发送参数,各驱动器根据参数改变自身的长短、角度状态,在所有驱动器的共同作用下实现体感设备的运动,即得到体感设备的运动趋势。

可以理解的是,由于体感设备不尽相同,模拟运动的过程也稍有区别。根据体感设备的自由度不同,设置不同的模拟模型,如三自由度平台、四自由度平台、六自由度平台等。此处以六自由度平台为例,请参见图4,六自由度平台模拟的方法采用计算机图形学在三维空间中画出六自由度平台的物理结构,其结构分为上平台三角(abc)、下平台三角(def)以及连接上下三角的六根电动缸(ad,af,bd,be,ce,cf),下三角(def)为固定于地面的稳定机构,将qva及qua运用于上三角(abc)用于表示其相对于初始位置的位移与相对于初始角度的转向角,根据上下三角之间的关系即可得出六根电动缸的长度数据。

在系统中设置一个虚拟的体感设备,让体感设备的运动趋势保持与虚拟设备一致,驱动器体感设备运动的驱动来源,因而在模拟运动时,可以记录各虚拟的驱动器参与运动时的变化,获得驱动器参数。

步骤s204:将所述驱动器参数发送至对应的体感设备控制器;

其中,将在虚拟运动中记录的驱动器参数发送至体感设备控制器,以便向对应的驱动器发送参数,实现体感运动。当然,虚拟运动的过程是一个理想的状态,无需考虑材料、空间等因素对驱动器的影响。在驱动器进行工作前,可以对驱动器进行安全限位处理。在确认驱动器参数安全无误后,将诸如电动缸长度等体感数据发送给体感设备控制器。可以理解的是,体感设备控制器中有体感设备控制器软件,可以将驱动器的参数发送给各驱动器,以便体感设备与虚拟物体具有同样的运动趋势。

下面请参见图5、图6-a,图6-b,图5为本申请实施例所提供的另一种体感设备数据转换的方法的流程图;图6-a,图6-b为图5所示实施例中为对体感设备进行限位的示意图。

此实施例是在上述实施例的基础上,对计算运动趋势和设置限位处理进行了相关限定。

具体步骤可以包括:

步骤s301:按预定周期接收所述虚拟物体的所述运动信息;

其中,所述预定周期根据游戏内容和用户敏感程度进行设定,此处并不对计算接收信息的周期的方法、具体范围进行限定,但是需要保证呈现给用户的体感效果是连续的不能有明显的空档期。根据游戏情况预设周期的数值进行改变的方法已经在步骤s201中详细描述了,此处不再赘述。

步骤s302:根据所述运动信息计算得到所述虚拟物体的位置向量和欧拉角度向量;

其中,采集到的虚拟物体的运动信息中包含虚拟物体的三维空间极坐标,以游戏空间中的任意一点建立三维坐标系,根据虚拟物体的三维空间极坐标可以得到虚拟物体的位置向量,同理也可以根据运动信息中的三维空间朝向角度计算得到虚拟物体的欧拉角。

步骤s303:通过所述位置向量计算得到所述移动趋势数据;

其中,本实施例并不是只接收一次的虚拟物体的运动信息,而是在整个游戏体验过程中都有接收,分析相邻的两次虚拟物体的位置向量即可获得虚拟物体的移动趋势数据。

步骤s304:通过所述欧拉角度向量计算得到所述转向趋势数据;

其中,本步骤中获得转向趋势数据的方法与步骤s304基本一致,此处不再赘述。可以理解的是,计算移动趋势数据和计算转向趋势数据两个步骤并不存在依赖关系,这两个步骤哪一个在前哪一个在后并不影响实际结果,也就是说上述两个步骤的先后顺序可以调换,也可以同时进行。

步骤s305:根据所述移动趋势数据和所述转动趋势数据得到所述体感设备的运动趋势向量;

其中,运动趋势向量是体感设备保持与虚拟物体运动趋势一致所依据的主要因素,可以理解的是,由于虚拟物体的运动状态不是一成不变的,所以运动趋势向量也是实时更新的,并且可以根据运动趋势向量设置响应速度。

步骤s306:在虚拟空间中,模拟所述体感设备根据所述运动趋势向量运动,并记录在运动过程中驱动器的运动情况。

步骤s307:根据所述运动情况得到所述体感设备的所述驱动器参数。

步骤s308:在得到所述驱动器参数后,对所述体感设备进行限位处理;

其中,在限位过程中需要进行两次限位,以防止发生超出设备可处理的数据范围。根据体感设备的自由度不同,限位的具体方式也不同,下面以对六自由度的体感设备进行限位,来详细说明本步骤。

请参见图6-a,图6-b,第一次限位是在运动趋势作用于上三角的过程中,将上三角的运动范围与角度范围限定在一定的范围内,例如电动缸最低长度为60cm,最高长度为120cm,则可以将运动范围设置为其中间位置为起点的30cm半径球内,由此可保证其与实际设备的处理范围基本一致,同理可将角度限制在一定范围内。经过第一次限位并不能完全保证数据在实际平台所能表示的范围之内,还要对得出的六根电动缸的长度进行限位,以上述例子中,即可将ad至cf六个数据限定在60cm到120cm之间,即可保证绝对安全。

实际运用的过程中也可以将一些设备不需要的信息排除掉,以三自由度平台为例,因其物理结构的限制,不能够表达前进、后退等平移动作,因此可以只将平台所需要的移动趋势的高度信息传递给上三角平台即可。

步骤s309:将所述驱动器参数发送至对应的体感设备控制器。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

请参见图7,图7为本申请提供的一种体感设备数据转换的系统的结构示意图;

该系统可以包括:

数据接收模块100,用于接收虚拟物体的运动信息;

运动趋势解析模块200,用于对所述运动信息进行分析,得到所述虚拟物体的运动趋势数据;

设备形式模拟器模块300,用于利用所述运动趋势数据进行模拟运动,得到所述体感设备的驱动器参数;

体感数据输出模块400,用于将所述驱动器参数发送至对应的体感设备控制器。

在本申请提供的另一种体感设备数据转换的系统中,本实施例包括:

进一步的,所述数据接收模块100具体为按预定周期接收所述虚拟物体的所述运动信息的模块。

进一步的,所述运动趋势解析模块200包括:

向量计算单元,用于根据所述运动信息计算得到所述虚拟物体的位置向量和欧拉角度向量;

移动计算单元,用于通过所述位置向量计算得到所述移动趋势数据;

转向计算单元,用于通过所述欧拉角度向量计算得到所述转向趋势数据。

进一步的,所述设备形式模拟器模块300包括:

趋势向量计算单元,用于根据所述移动趋势数据和所述转动趋势数据得到所述体感设备的运动趋势向量;

模拟单元,用于在虚拟空间中,模拟所述体感设备以所述运动趋势向量运动,并记录在运动过程中驱动器的运动情况;

参数记录单元,用于根据所述运动情况得到所述体感设备的所述驱动器参数。

进一步的,该系统还包括:

安全限位模块,用于在得到所述驱动器参数后,对所述体感设备进行限位处理。

以上对本申请所提供的一种体感设备数据转换的方法及系统进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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