虚拟现实系统的异地联机方法、装置、设备及存储介质与流程

文档序号:21927381发布日期:2020-08-21 14:49阅读:456来源:国知局
虚拟现实系统的异地联机方法、装置、设备及存储介质与流程

本发明涉及虚拟现实技术领域,尤其涉及一种虚拟现实系统的异地联机方法、装置、设备及存储介质。



背景技术:

互联网技术不断升级,在不断更新人的体验的追求下,产生了vr、ar等技术方案。vr技术不断更新发展,将现实数据实时的呈现于网络中,并与虚拟网络的数据进行互动,提高了大家的感官体验与图像处理技术。

当前技术中,多人虚拟空间互动都是基于局域网来实现,其中多人虚拟空间互动的内容有培训、游戏、真演练。多人大空间的互动方案在基于局域网的实现,会导致地域限制减少vr技术应用的范围,因此需要基于公网的多人虚拟空间异地互动方案,减少地域限制带来的不便。



技术实现要素:

本发明的主要目的在于解决如何实现在vr技术基础上的异地通信连接的技术问题。

本发明第一方面提供了一种虚拟现实系统的异地联机方法,包括:

获取建立第一vr设备至第二vr设备通信连接的联机请求,其中,所述第一vr设备与所述第二vr设备互为异地设备;

根据所述联机请求,从预置虚拟现实外围网络库中读取所述第一vr设备的第一ip地址和第二vr设备的第二ip地址,所述第一ip地址和第二ip地址两者中至少存在一个是公网ip地址;

根据所述第一ip地址、所述第二ip地址和虚拟现实外围网络协议,创建第一vr设备与第二vr设备的异地联机ip地址;

根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接。

可选的,在本发明第一方面的第一种实现方式中,所述根据所述联机请求,从预置虚拟现实外围网络库中读取所述第一vr设备的第一ip地址和第二vr设备的第二ip地址包括:

根据所述联机请求,查询所述预置虚拟现实外围网络中分别记录的所述第一vr设备和第二vr设备的内网端口的状态,并判断所述内网端口的状态是否处于开启状态;

若所述第一vr设备的第一内网端口未处于开启状态,则确定所述第一ip地址为第一公网ip地址和所述第二ip地址为第二内网ip地址,并从预置虚拟现实外围网络库中读取对应的ip地址;

若所述第一vr设备的第一内网端口处于开启状态,则确定所述第一ip地址为第一内网ip地址,以及读取所述第二ip地址对应第二内网端口的状态;

判断所述第二内网端口是否处于开启状态;

若所述第二内网端口未处于开启状态,则确认所述第二ip地址为公网ip地址,并从预置虚拟现实外围网络库中读取对应的ip地址。

可选的,在本发明第一方面的第二种实现方式中,所述根据所述第一ip地址、所述第二ip地址和虚拟现实外围网络协议,创建第一vr设备与第二vr设备的异地联机ip地址包括:

接收ip配置命令,读取所述ip配置命令中的配置数据;

根据所述配置数据以及虚拟现实外围网络协议,将所述第一公网ip地址和所述第二内网ip地址生成异地联机ip地址;或者,根据所述配置数据以及虚拟现实外围网络协议,将所述第一公网ip地址和所述第二公网ip地址生成异地联机ip地址。

可选的,在本发明第一方面的第三种实现方式中,所述第一vr设备包括第一光学动作采集器和第一图像显示器,所述第二vr设备包括第二光学动作采集器和第二图像显示器,在所述根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接之后,还包括:

判断所述通信连接的状态是否为连通状态;

若是连通状态,则通过所述通信连接,同步在所述第一图像显示器与所述第二图像显示器中的虚拟图像;

若不是连通状态,则更新所述预置虚拟现实外围网络库中的第一ip地址和第二ip地址,并基于更新后的第一ip地址、第二ip地址和虚拟现实外围网络协议,重新建立所述第一vr设备至所述第二vr设备的通信连接。

可选的,在本发明第一方面的第四种实现方式中,所述通过所述通信连接,同步在所述第一图像显示器与所述第二图像显示器中的虚拟图像包括:

获取在所第一图像显示器中显示的第一虚拟图像,并获取在所述第二图像显示器中显示的第二虚拟图像;

分析所述第一虚拟图像与所述第二虚拟图像,将所述第一虚拟图像与所述第二虚拟图像整合,生成同步虚拟图像;

将所述同步虚拟图像显示在所述第一显示器与所述第二显示器中。

可选的,在本发明第一方面的第五种实现方式中,所述虚拟现实系统的异地联机方法还包括:

若所述第一ip地址与所述第二ip地址均不为公网ip地址,则将无法异地联机的通知信息显示于所述第一图像显示器和所述第二图像显示器中。

可选的,在本发明第一方面的第六种实现方式中,在所述通过所述通信连接,同步在所述第一图像显示器与所述第二图像显示器中的虚拟图像之后,还包括:

获取所述第一光学动作采集器与所述第二光学动作采集器中的操作命令,并获取所述第一光学动作采集器与所述第二光学动作采集器采集到的动作三维坐标数据;

根据预置算法解算所述动作三维坐标数据,得到三维姿态数据;

解析所述操作命令,得到调整所述三维姿态数据的调整指令;

根据所述调整指令与所述三维姿态数据,生成更新虚拟图像;

通过所述通信连接,将所述更新虚拟图像显示在所述第一图像显示器和所述第二图像显示器中。

本发明第二方面提供了一种虚拟现实系统的异地联机装置,包括:

获取模块,用于获取建立第一vr设备至第二vr设备通信连接的联机请求,其中,所述第一vr设备与所述第二vr设备互为异地设备;

读取模块,用于根据所述联机请求,从预置虚拟现实外围网络库中读取所述第一vr设备的第一ip地址和第二vr设备的第二ip地址,所述第一ip地址和第二ip地址两者中至少存在一个是公网ip地址;

构建模块,用于根据所述第一ip地址、所述第二ip地址和虚拟现实外围网络协议,创建第一vr设备与第二vr设备的异地联机ip地址;

建立模块,用于根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接。

可选的,在本发明第二方面的第一种实现方式中,所述读取模块具体用于:

根据所述联机请求,查询所述预置虚拟现实外围网络中分别记录的所述第一vr设备和第二vr设备的内网端口的状态,并判断所述内网端口的状态是否处于开启状态;

若所述第一vr设备的第一内网端口未处于开启状态,则确定所述第一ip地址为第一公网ip地址和所述第二ip地址为第二内网ip地址,并从预置虚拟现实外围网络库中读取对应的ip地址;

若所述第一vr设备的第一内网端口处于开启状态,则确定所述第一ip地址为第一内网ip地址,以及读取所述第二ip地址对应第二内网端口的状态;

判断所述第二内网端口是否处于开启状态;

若所述第二内网端口未处于开启状态,则确认所述第二ip地址为公网ip地址,并从预置虚拟现实外围网络库中读取对应的ip地址。

可选的,在本发明第二方面的第二种实现方式中,所述构建模块具体用于:

接收ip配置命令,读取所述ip配置命令中的配置数据;

根据所述配置数据以及虚拟现实外围网络协议,将所述第一公网ip地址和所述第二内网ip地址生成异地联机ip地址;或者,根据所述配置数据以及虚拟现实外围网络协议,将所述第一公网ip地址和所述第二公网ip地址生成异地联机ip地址。

可选的,在本发明第二方面的第三种实现方式中,所述虚拟现实系统的异地联机装置还包括:

状态判断模块,用于判断所述通信连接的状态是否为连通状态;

同步模块,用于若所述通信连接的状态是连通状态,则通过所述通信连接,同步在所述第一图像显示器与所述第二图像显示器中的虚拟图像;

重建模块,用于若所述通信连接的状态是连通状态,则更新所述预置虚拟现实外围网络库中的第一ip地址和第二ip地址,并基于更新后的第一ip地址、第二ip地址和虚拟现实外围网络协议,重新建立所述第一vr设备至所述第二vr设备的通信连接。

可选的,在本发明第二方面的第四种实现方式中,所述同步模块包括:

获取单元,用于获取在所第一图像显示器中显示的第一虚拟图像,并获取在所述第二图像显示器中显示的第二虚拟图像;

生成单元,用于分析所述第一虚拟图像与所述第二虚拟图像,将所述第一虚拟图像与所述第二虚拟图像整合,生成同步虚拟图像;

显示单元,用于将所述同步虚拟图像显示在所述第一显示器与所述第二显示器中。

可选的,在本发明第二方面的第五种实现方式中,所述虚拟现实系统的异地联机装置还包括:

通知模块,用于若所述第一ip地址与所述第二ip地址均不为公网ip地址,则将无法异地联机的通知信息显示于所述第一图像显示器和所述第二图像显示器中。

可选的,在本发明第二方面的第六种实现方式中,所述虚拟现实系统的异地联机装置还包括:

采集模块,用于获取所述第一光学动作采集器与所述第二光学动作采集器中的操作命令,并获取所述第一光学动作采集器与所述第二光学动作采集器采集到的动作三维坐标数据;

解算模块,用于根据预置算法解算所述动作三维坐标数据,得到三维姿态数据;

解析模块,用于解析所述操作命令,得到调整所述三维姿态数据的调整指令;

图像生成模块,用于根据所述调整指令与所述三维姿态数据,生成更新虚拟图像;

互动显示模块,用于通过所述通信连接,将所述更新虚拟图像显示在所述第一图像显示器和所述第二图像显示器中。

本发明第三方面提供了一种虚拟现实系统的异地联机设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述虚拟现实系统的异地联机设备执行上述的虚拟现实系统的异地联机方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的虚拟现实系统的异地联机方法。

本发明提供的技术方案中,获取建立第一vr设备至第二vr设备通信连接的联机请求,其中,所述第一vr设备与所述第二vr设备互为异地设备;根据所述联机请求,从预置虚拟现实外围网络库中读取所述第一vr设备的第一ip地址和第二vr设备的第二ip地址,所述第一ip地址和第二ip地址两者中至少存在一个是公网ip地址;根据所述第一ip地址、所述第二ip地址和虚拟现实外围网络协议,创建第一vr设备与第二vr设备的异地联机ip地址;根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接。本发明实施例中,通过对传输协议的调整基于公网建立异地vr设备的通信连接,实现异地vr设备的通信交互的目的。

附图说明

图1为本发明实施例中虚拟现实系统的异地联机方法的第一个实施例示意图;

图2为本发明实施例中虚拟现实系统的异地联机方法的第二个实施例示意图;

图3为本发明实施例中虚拟现实系统的异地联机方法的第三个实施例示意图;

图4为本发明实施例中虚拟现实系统的异地联机方法的第四个实施例示意图;

图5为本发明实施例中虚拟现实系统的异地联机装置的第一个实施例示意图;

图6为本发明实施例中虚拟现实系统的异地联机装置的第二个实施例示意图;

图7为本发明实施例中虚拟现实系统的异地联机装置的第三个实施例示意图;

图8为本发明实施例中虚拟现实系统的异地联机设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种虚拟现实系统的异地联机方法、装置、设备及存储介质,获取建立第一vr设备至第二vr设备通信连接的联机请求,其中,所述第一vr设备与所述第二vr设备互为异地设备;根据所述联机请求,从预置虚拟现实外围网络库中读取所述第一vr设备的第一ip地址和第二vr设备的第二ip地址,所述第一ip地址和第二ip地址两者中至少存在一个是公网ip地址;根据所述第一ip地址、所述第二ip地址和虚拟现实外围网络协议,创建第一vr设备与第二vr设备的异地联机ip地址;根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接。本发明实施例中,通过对传输协议的调整基于公网建立异地vr设备的通信连接,实现异地vr设备的通信交互的目的。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中虚拟现实系统的异地联机方法的第一个实施例包括:

101、获取建立第一vr设备至第二vr设备通信连接的联机请求,其中,所述第一vr设备与所述第二vr设备互为异地设备;

在本实施例中,第一vr设备与第二设备互为异地设备指的是两个设备不在同一个地域上,并且该地域的不同,主要是在通信网络的不同,通信网络的不同是在不同的局域网中。vr设备的联机请求可以是由异地vr设备中任一个设备发出,当第一vr设备在a地而第二vr设备在b地时,a地上的第一vr设备发出联机请求,联机请求是可以由vr设备连接电脑设备,在电脑设备上操作连接请求,也可以是操作者装备vr设备在vr设备的预先设置好的操作页面进行操作完成联机请求的发送。vr设备有两种类型,一种是一体机类型,即vr设备自带处理器与通信模块,即可在vr设备的虚拟页面中操作。而另一种是只有光学获取模块与显示器并无处理器,则需要通过电脑设备处理光学获取模块获得的数据并处理完成后在vr设备中显示。

102、根据所述联机请求,从预置虚拟现实外围网络库中读取所述第一vr设备的第一ip地址和第二vr设备的第二ip地址,所述第一ip地址和第二ip地址两者中至少存在一个是公网ip地址;

在本实施例中,所述预置虚拟现实外围网络库包括a地和b地上的vr设备的通信ip地址,该库中的数据是在两地建设vr通信系统的时候,相互配置的通信ip地址库,并且该通信ip地址库会同步给两地的vr通信设备,同时还可以通过监控两地的设备的ip地址的变化进行实时更新同步,第一vr设备与第二vr设备在相互联机时,可以通过该通信ip地址对vrpn协议进行调整来实现,在实际应用中,可以采用传统vrpn协议实现,而传统vrpn协议只支持一个ip与随机产生的端口,不利于公网的连接,但是经过对vrpn协议的改造,,将vrpn协议中的地址格式进行改造,实现两地ip地址的结合,这样同个vrpn服务器,暴露出公网与内网两个端口,公网与内网都是用来传输vrpn数据的网络。读取第一vr设备显示的ip地址为x,读取第二vr设备显示的ip地址为y,然后对ip地址的数据进行处理。第一ip地址与第二ip地址都对应有两个对外端口,ue4有一个接口:playercotnroe->islocalcontroled();通过这个接口,如果返回true就连接内网,如果返回false就连接公网。

103、根据所述第一ip地址、所述第二ip地址和虚拟现实外围网络协议,创建第一vr设备与第二vr设备的异地联机ip地址;

在本实施例中,将vrpn库中存有第一vr设备与第二vr设备的公网ip地址与内网ip地址,如果均为内网ip地址,则第一vr设备与第二vr设备并不会连接,也不会配置异地连接的ip地址。只有在第一vr设备与第二vr设备中至少有一个公网端口是开启的,则可以配置从一个公网端口至另一个设备的联机ip地址。

104、根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接。

在本实施例中,在第一ip地址或是第二ip地址为公网ip地址时,vrpn协议对外显示的端口至少有一个是支持公网的通信,通过公网的通信实现异地vr设备之间的数据传输。在ip地址中一个为公网一个为内网的时候,通过公网与内网的连接协议,先使用公网实现数据的异地跨越,再通过内网将数据传输至vr设备中。而如果第一ip地址与第二ip地址均是公网ip地址,则直接使用公网通信将第一vr设备与第二vr设备连接。而且目前有很多电脑与手机游戏都是基于异地通信完成,vr环境的通信速度是可以得到保障的。而本发明所述的异地联机设备可以是由路由器构成的交换设备组成。

本发明实施例中,通过对传输协议的调整基于公网建立异地vr设备的通信连接,实现异地vr设备的通信交互的目的。

请参阅图2,本发明实施例中虚拟现实系统的异地联机方法的第二个实施例包括:

201、获取建立第一vr设备至第二vr设备通信连接的联机请求,其中,所述第一vr设备与所述第二vr设备互为异地设备;

202、根据所述联机请求,查询所述预置虚拟现实外围网络中分别记录的所述第一vr设备和第二vr设备的内网端口的状态;

在本实施例中,读取vrpn库中记录的第一vr设备与第二vr设备的内网端口,形式上内网端口分别为@x和@y。

203、判断所述内网端口的状态是否处于开启状态;

本实施例中,判断端口状态使用playercotnroe->islocalcontroled()查询内网端口状态,获得函数反馈信息则可以得知内网端口的状态。

204、若所述第一vr设备的第一内网端口未处于开启状态,则确定所述第一ip地址为第一公网ip地址和所述第二ip地址为第二内网ip地址,并从预置虚拟现实外围网络库中读取对应的ip地址;

在本实施例中,如果在第一内网端口x返回数据是“nell”或者是“关闭”,则将第一ip地址确定为公网ip地址,并将第二ip地址与第一ip地址的数据从vrpn库中查询出对应的数据。

205、若所述第一vr设备的第一内网端口处于开启状态,则确定所述第一ip地址为第一内网ip地址,以及读取所述第二ip地址对应第二内网端口的状态;

在本实施例中,如果在第一内网端口x返回数据是“open”或者是“存在”,则将第一ip地址为确定为内网ip地址,就需要查询第二ip地址的端口状态,同样使用playercotnroe->islocalcontroled()查询内网端口状态。

206、判断所述第二内网端口是否处于开启状态;

在本实施例中,使用playercotnroe->islocalcontroled()查询内网端口状态,然后获得反馈判断是否为开启状态。

207、若所述第二内网端口未处于开启状态,则确认所述第二ip地址为公网ip地址,并从预置虚拟现实外围网络库中读取对应的ip地址;

在本实施例中,如果playercotnroe->islocalcontroled()返回的数据为“nell”或者是“未开启”等,则从vrpn库中查询第一ip地址的内网端口地址并查询第二ip地址的公网端口。

208、接收ip配置命令,读取所述ip配置命令中的配置数据;

在本实施例中,ip配置数据为x和y,此时已经获取得到数据,显示于显示器中以供操作人员确认或者操作人员进行修改调整。获得配置命令后,就读取配置的数据。

209、根据所述配置数据以及虚拟现实外围网络协议,将所述第一ip地址为公网ip地址和所述第二ip地址为内网ip地址生成异地联机ip地址;;

在本实施例中,根据ip数据x和y,根据已经调整的vrpn协议与tcp/ip协议生成异地联机ip地址。存在另外一种情况,就是第一ip地址为内网而第二ip地址为公网,再次不进行赘述类似于第一ip地址为公网ip地址和所述第二ip地址为内网ip地址生成异地联机ip地址。还存在一种情况,将第一ip地址确定为公网ip地址和将第二ip地址确定为公网ip地址,然后生成异地联机ip地址

210、根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接。

本发明实施例中,通过对传输协议的调整基于公网建立异地vr设备的通信连接,实现异地vr设备的通信交互的目的。

请参阅图3,本发明实施例中虚拟现实系统的异地联机方法的第三个实施例包括:

301、获取建立第一vr设备至第二vr设备通信连接的联机请求,其中,所述第一vr设备与所述第二vr设备互为异地设备;

302、根据所述联机请求,从预置虚拟现实外围网络库中读取所述第一vr设备的第一ip地址和第二vr设备的第二ip地址;

303、判断所述第一ip地址和第二ip地址两者中是否至少存在一个公网ip地址;

304、若所述第一ip地址与所述第二ip地址均不为公网ip地址,则将无法异地联机的通知信息显示于所述第一图像显示器和所述第二图像显示器中;

在本实施例中,在确认第一ip地址与第二ip地址均为内网ip地址时,则将预置无法异地连接的通知信息“您好,请你检查网络设置是否为外网公网设置,目前无法进行异地连接”显示在第一图像显示器和第二图像显示器中,以便操作者修改配置重新建立异地通信连接。

306、根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接;

305、若是,根据所述第一ip地址、所述第二ip地址和虚拟现实外围网络协议,创建第一vr设备与第二vr设备的异地联机ip地址;

306、根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接;

307、判断所述通信连接的状态是否为连通状态;

在本实施例中,可以从第一ip地址发送“检测信息a,记录发出时间:q时间”然后在第二ip地址接收到信息后增添信息后为“检测信息a,记录发出时间:q时间,记录接收时间:w时间”,然后接收第二ip地址发回的反馈信息判断q时间与w时间之间的差值是否超过阈值,如果超过阈值则说明不为连通状态,如果没有超过则为连通状态。

308、若是连通状态,则通过所述通信连接,同步在所述第一图像显示器与所述第二图像显示器中的虚拟图像;

在本实施例中,判断通信连接为连接状态时,就需要在同一个虚拟模板上同步第一vr设备与第二vr设备的数据,从第一vr设备获取图像数据并同样从第二vr设备获取图像数据,然后计算个设备的数据将两个设备数据在同一个虚拟模板呈现,将更新后的虚拟图像在第一vr设备与第二vr设备的呈现。

309、若不是连通状态,则更新所述预置虚拟现实外围网络库中的第一ip地址和第二ip地址,并基于更新后的第一ip地址、第二ip地址和虚拟现实外围网络协议,重新建立所述第一vr设备至所述第二vr设备的通信连接。

在本实施例中,重新读取第一vr设备和第二vr设备的端口设置,判断是否为公网端口后,确认可以连接使用tcp/ip协议重新确定连接,确保通信连接能稳定。

本发明实施例中,通过对传输协议的调整基于公网建立异地vr设备的通信连接,实现异地vr设备的通信交互的目的。

请参阅图4,本发明实施例中虚拟现实系统的异地联机方法的第四个实施例包括:

401、获取建立第一vr设备至第二vr设备通信连接的联机请求,其中,所述第一vr设备与所述第二vr设备互为异地设备;

402、根据所述联机请求,从预置虚拟现实外围网络库中读取所述第一vr设备的第一ip地址和第二vr设备的第二ip地址,所述第一ip地址和第二ip地址两者中至少存在一个是公网ip地址;

403、根据所述第一ip地址、所述第二ip地址和虚拟现实外围网络协议,创建第一vr设备与第二vr设备的异地联机ip地址;

404、根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接;

405、判断所述通信连接的状态是否为连通状态;

406、若否,则更新所述预置虚拟现实外围网络库中的第一ip地址和第二ip地址,并基于更新后的第一ip地址、第二ip地址和虚拟现实外围网络协议,重新建立所述第一vr设备至所述第二vr设备的通信连接;

407、若是,则获取在所第一图像显示器中显示的第一虚拟图像,并获取在所述第二图像显示器中显示的第二虚拟图像;

在本实施例中,利用通信连接从第一图像显示器中读取第一虚拟图像,同样利用tcp/ip协议在通信连接获得第二虚拟图像。

408、分析所述第一虚拟图像与所述第二虚拟图像,将所述第一虚拟图像与所述第二虚拟图像整合,生成同步虚拟图像;

在本实施例中,读取第一虚拟图像的图像数据和虚拟模板类型,同样读取第二虚拟图像的图像数据和虚拟模板类型,然后将第一虚拟图像与第二虚拟图像中的图像数据在虚拟模板中显示,然后生成图像数据在同类型虚拟模板中显示而生成同步虚拟图像。

409、将所述同步虚拟图像显示在所述第一显示器与所述第二显示器中;

在本实施例中,将同步虚拟图像同时显示在第一vr设备与第二vr设备,显示时可以提高图像显示帧数,让图像以120帧数每秒的速度刷新,这样在第一vr设备与第二vr设备人眼中看见的图像基本是一致。

410、获取所述第一光学动作采集器与所述第二光学动作采集器中的操作命令,并获取所述第一光学动作采集器与所述第二光学动作采集器采集到的动作三维坐标数据;

在本实施例中,使用vr设备内置的光学采集器摄像头对人的动作进行捕捉,在人体身上粘贴的刚体光学传感器获取人体运动的三维坐标数据。在光学采集器中附带有操作命令,可以对动作的三维坐标数据进行调整,例如旋转命令,则会修改三维姿态数据的朝向。

411、根据预置算法解算所述动作三维坐标数据,得到三维姿态数据;

在本实施例中,在开发的tenoomi软件中,可以将获得三维数据进行解析,对三维数据进行解算,通过tenoomi预置的算法解析三维数据,得到三维姿态数据。三维姿态数据包括人的手朝向、脸朝向、手朝向,身体扭转角度等细节。

412、解析所述操作命令,得到调整所述三维姿态数据的调整指令;

在本实施例中,操作命令可以是人视角旋转调整、枪机游戏中对枪械的控制、在虚拟界面中抓取物品、在虚拟界面中抛物等。

413、根据所述调整指令与所述三维姿态数据,生成更新虚拟图像;

在本实施例中,根据三维姿态数据和调整指令,在虚拟界面中将虚拟图像更新,并且以120帧数的速度进行调整,使人在感官上觉得在实时改变虚拟界面的物品。

414、通过所述通信连接,将所述更新虚拟图像显示在所述第一图像显示器和所述第二图像显示器中。

在本实施例中,将生成的更新虚拟图像在vr设备中显示,可以设置网络速度测速与更新帧数对应改变。如测量网络速度为1m/s,则使用300帧/秒的更新速度对显示器中虚拟图像更新,而如果测量网络速度为120kb/s,则使用60帧/秒对虚拟图像更新,更新速度可以随时进行调整。

本发明实施例中,通过对传输协议的调整基于公网建立异地vr设备的通信连接,实现异地vr设备的通信交互的目的。

上面对本发明实施例中虚拟现实系统的异地联机方法进行了描述,下面对本发明实施例中虚拟现实系统的异地联机装置进行描述,请参阅图5,本发明实施例中虚拟现实系统的异地联机装置第一个实施例包括:

获取模块501,用于获取建立第一vr设备至第二vr设备通信连接的联机请求,其中,所述第一vr设备与所述第二vr设备互为异地设备;

读取模块502,用于根据所述联机请求,从预置虚拟现实外围网络库中读取所述第一vr设备的第一ip地址和第二vr设备的第二ip地址,所述第一ip地址和第二ip地址两者中至少存在一个是公网ip地址;

构建模块503,用于根据所述第一ip地址、所述第二ip地址和虚拟现实外围网络协议,创建第一vr设备与第二vr设备的异地联机ip地址;

建立模块504,用于根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接。

本发明实施例中,通过对传输协议的调整基于公网建立异地vr设备的通信连接,实现异地vr设备的通信交互的目的。

请参阅图6,本发明实施例中虚拟现实系统的异地联机装置的第二个实施例包括:

获取模块601,用于获取建立第一vr设备至第二vr设备通信连接的联机请求,其中,所述第一vr设备与所述第二vr设备互为异地设备;

读取模块602,用于根据所述联机请求,从预置虚拟现实外围网络库中读取所述第一vr设备的第一ip地址和第二vr设备的第二ip地址,所述第一ip地址和第二ip地址两者中至少存在一个是公网ip地址;

构建模块603,用于根据所述第一ip地址、所述第二ip地址和虚拟现实外围网络协议,创建第一vr设备与第二vr设备的异地联机ip地址;

建立模块604,用于根据所述异地联机ip地址,建立从所述第一vr设备至所述第二vr设备的通信连接。

可选的,所述读取模块602具体用于:根据所述联机请求,查询所述预置虚拟现实外围网络中分别记录的所述第一vr设备和第二vr设备的内网端口的状态,并判断所述内网端口的状态是否处于开启状态;若所述第一vr设备的第一内网端口未处于开启状态,则确定所述第一ip地址为第一公网ip地址和所述第二ip地址为第二内网ip地址,并从预置虚拟现实外围网络库中读取对应的ip地址;若所述第一vr设备的第一内网端口处于开启状态,则确定所述第一ip地址为公网ip地址,以及读取所述第二ip地址对应第二内网端口的状态;判断所述第二内网端口是否处于开启状态;若所述第二内网端口未处于开启状态,则确认所述第二ip地址为公网ip地址,并从预置虚拟现实外围网络库中读取对应的ip地址。

可选的,所述构建模块603具体用于:接收ip配置命令,读取所述ip配置命令中的配置数据;根据所述配置数据以及虚拟现实外围网络协议,将所述第一公网ip地址和所述第二内网ip地址生成异地联机ip地址;或者,根据所述配置数据以及虚拟现实外围网络协议,将所述第一公网ip地址和所述第二公网ip地址生成异地联机ip地址。

其中,所述虚拟现实系统的异地联机装置还包括:

通知模块605,用于若所述第一ip地址与所述第二ip地址均不为公网ip地址,则将无法异地联机的通知信息显示于所述第一图像显示器和所述第二图像显示器中

其中,所述虚拟现实系统的异地联机装置还包括:

状态判断模块606,用于判断所述通信连接的状态是否为连通状态;

同步模块607,用于若所述通信连接的状态是连通状态,则通过所述通信连接,同步在所述第一图像显示器与所述第二图像显示器中的虚拟图像;

重建模块608,用于若所述通信连接的状态是连通状态,则更新所述预置虚拟现实外围网络库中的第一ip地址和第二ip地址,并基于更新后的第一ip地址、第二ip地址和虚拟现实外围网络协议,重新建立所述第一vr设备至所述第二vr设备的通信连接。

其中,所述同步模块607包括:

获取单元6071,用于获取在所第一图像显示器中显示的第一虚拟图像,并获取在所述第二图像显示器中显示的第二虚拟图像;

生成单元6072,用于分析所述第一虚拟图像与所述第二虚拟图像,将所述第一虚拟图像与所述第二虚拟图像整合,生成同步虚拟图像;

显示单元6073,用于将所述同步虚拟图像显示在所述第一显示器与所述第二显示器中。

其中,所述虚拟现实系统的异地联机装置还包括:

采集模块609,用于获取所述第一光学动作采集器与所述第二光学动作采集器中的操作命令,并获取所述第一光学动作采集器与所述第二光学动作采集器采集到的动作三维坐标数据;

解算模块610,用于根据预置算法解算所述动作三维坐标数据,得到三维姿态数据;

解析模块611,用于解析所述操作命令,得到调整所述三维姿态数据的调整指令;

图像生成模块612,用于根据所述调整指令与所述三维姿态数据,生成更新虚拟图像;

交互显示模块613,用于通过所述通信连接,将所述更新虚拟图像显示在所述第一图像显示器和所述第二图像显示器中。

本发明实施例中,通过对传输协议的调整基于公网建立异地vr设备的通信连接,实现异地vr设备的通信交互的目的。

在实际应用中,上述提供的虚拟现实系统的异地联机装置具体可以通过以下框架结构组成,如图7所示,该装置包括rts硬件系统701、vrpc硬件系统702,以及用于实现两地虚拟现实系统的通信连接的路由交换设备703;

在本实施例中,vrpc硬件系统702中包括数据处理设备7021,数据处理设备7021运行设置有tenoomi系统,该tenoomi系统为全身运动捕捉姿态分析软件,用于对rts硬件系统701采集得到的tracker数据进行处理,构建实际应用场景与虚拟现实场景的对应关系。vrpc硬件系统702还包括虚拟图像显示器7022,虚拟图像显示器7022用于对显示虚拟现实场景,虚拟图像显示器7022可以为在装戴式vr设备中的显示器,虚拟图像显示器7022在电脑端可以为电脑显示屏显示处理数据内容。

在本实施例中,rts硬件系统701包括定位装置(tracker)7011、光学采集摄像机7012,其中,定位装置(tracker)7011是由粘贴在全身用于采集身体动作姿态的刚体数据采集器组成的一个整体装置,每个刚体数据采集器是用于在粘贴点采集的刚体数据,刚体数据是由每个刚体采集器由相互的关系构成三维立体数据矩阵。光学采集摄像机7012采集到刚体数据后便上传至定位装置(tracker)7011中进行空间定位,tracker是目标跟踪软件用于追踪全身运动的三维空间位置,从而得到目标物的3d坐标数据。路由交换设备703包括在异地两处分别部署的路由交换器7031。路由交换器7031在通过本身的公网端口时,即可访问异地部署的路由交换器7031的公网端口和内网端口。路由交换器7031在通过本身的内网端口时,只可访问异地部署的路由交换器7031的内网端口。在异地两处部署路由交换器7031均使用公网端口交流时,则可以利用公网云进行数据交流。而在异地两处部署路由交换器7031一地使用公网端口而另一地使用内网端口进行交流时,可以通过在使用内网端口的路由交换器7031的一端使用网格通信gc(gridcommunication)实现通讯。

本发明实施例中,通过对传输协议的调整基于公网建立异地vr设备的通信连接,实现异地vr设备的通信交互的目的。

上面图5、图6、图7从模块化功能实体的角度对本发明实施例中的虚拟现实系统的异地联机装置进行详细描述,下面从硬件处理的角度对本发明实施例中虚拟现实系统的异地联机设备进行详细描述。

图8是本发明实施例提供的一种虚拟现实系统的异地联机设备的结构示意图,该虚拟现实系统的异地联机设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对虚拟现实系统的异地联机设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在虚拟现实系统的异地联机设备800上执行存储介质830中的一系列指令操作。

基于虚拟现实系统的异地联机设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图8示出的虚拟现实系统的异地联机设备结构并不构成对基于虚拟现实系统的异地联机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述虚拟现实系统的异地联机方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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