CN109861948B - 虚拟现实数据处理方法、装置、存储介质和计算机设备 - Google Patents
虚拟现实数据处理方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN109861948B CN109861948B CN201711241175.1A CN201711241175A CN109861948B CN 109861948 B CN109861948 B CN 109861948B CN 201711241175 A CN201711241175 A CN 201711241175A CN 109861948 B CN109861948 B CN 109861948B
- Authority
- CN
- China
- Prior art keywords
- data
- virtual reality
- scene
- browser
- server
- 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.)
- Active
Links
Images
Abstract
本申请涉及一种虚拟现实数据处理方法、装置、计算机设备和存储介质,包括:生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器;接收服务器根据所述虚拟现实场景获取请求返回的场景数据;在浏览器通过HTML5解析所述场景数据分离得到组件数据;根据所述组件数据进行动画渲染,通过左右双画布在所述浏览器显示对应的动画,以使虚拟现实设备采集所述动画形成虚拟现实场景,使得虚拟现实场景方便的进行跨终端实现。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种虚拟现实数据处理方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着计算机技术与互联网的发展,虚拟现实(VR,Virtual Reality)技术凭借其逼真的体验和良好的互动性,越来越受到广大用户的青睐。越来越多的用户使用终端提供的VR模式来观看视频、体验VR游戏,足不出户即可享受身临其境的播放效果。
然而,传统的VR技术局限于特定的设备或者特定的应用中进行体验,无法实现快速的跨终端多设备完美兼容的体验。
发明内容
基于此,有必要针对上述技术问题,提供一种虚拟现实数据处理方法、装置、计算机可读存储介质和计算机设备,通过HTML5的方式使得虚拟现实场景方便的进行跨终端实现。
一种虚拟现实数据处理方法,所述方法包括:
生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器;
接收服务器根据所述虚拟现实场景获取请求返回的场景数据;
在浏览器通过HTML5解析所述场景数据分离得到组件数据;
根据所述组件数据进行动画渲染,通过左右双画布在所述浏览器显示对应的动画,以使虚拟现实设备采集所述动画形成虚拟现实场景。
一种虚拟现实数据处理装置,所述装置包括:
发送模块,用于生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器;
接收模块,用于接收服务器根据所述虚拟现实场景获取请求返回的场景数据;
组件分离模块,用于在浏览器通过HTML5解析所述场景数据分离得到组件数据;
渲染模块,用于根据所述组件数据进行动画渲染,通过左右双画布在所述浏览器显示对应的动画,以使虚拟现实设备采集所述动画形成虚拟现实场景。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述虚拟现实数据处理方法的步骤。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述虚拟现实数据处理方法的步骤。
上述虚拟现实数据处理方法、装置、计算机设备和存储介质,通过生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将虚拟现实场景获取请求发送至服务器,接收服务器根据虚拟现实场景获取请求返回的场景数据,在浏览器通过HTML5解析场景数据分离得到组件数据,根据组件数据进行动画渲染,通过左右双画布在浏览器显示对应的动画,以使虚拟现实设备采集所述动画形成虚拟现实场景,采用HTML5的方式,只要存在浏览器就可实现虚拟现实技术,不需要安装特定的应用,使得虚拟现实场景方便的进行跨终端跨平台实现,且采用HTML5的长连接通信方式极大的提高了通信的实时性,实时的进行动态反馈,解决了虚拟场景的模型无法实时更新,卡顿、扭曲等错误,提高响应速度。以组件为单位进行渲染便于实现复用性,形成从实体到组件到系统为核心基础的架构,能快速的实现实时渲染与搭建功能。
附图说明
图1为一个实施例中虚拟现实数据处理方法的应用环境图;
图2为一个实施例中虚拟现实数据处理方法的流程示意图;
图3为一个实施例中在不同坐标系矩阵转换示意图;
图4为一个实施例中二维图像转化为三维图像示意图;
图5为一个实施例中数据实时互通传输的示意图;
图6为一个实施例中发送虚拟现实场景获取请求的流程图;
图7为一个实施例中得到组件数据的流程图;
图8为一个实施例中动画渲染的流程图;
图9为一个实施例中通过多线程进行绘图渲染的示意图;
图10为一个实施例中动画渲染的流程图;
图11为一个实施例中左右眼数据区分和双画布视图示意图;
图12为一个实施例中根据浏览器缓存数据获取场景数据的流程图;
图13为一个实施例中请求获取场景数据的流程示意图;
图14为一个实施例中获取组件数据的流程图;
图15为一个实施例中虚拟现实数据处理方法的架构图;
图16为一个实施例中虚拟现实数据处理方法流程示意图;
图17为一个实施例中渲染过程流程示意图;
图18为一个实施例中虚拟现实数据处理装置的结构框图;
图19为另一个实施例中虚拟现实数据处理装置的结构框图;
图20为一个实施例中组件分离模块的结构框图;
图21为一个实施例中渲染模块的结构框图;
图22为另一个实施例中渲染模块的结构框图;
图23为再一个实施例中虚拟现实数据处理装置的结构框图;
图24为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中虚拟现实数据处理方法的应用环境图。如图1所示,该应用环境包括终端110、VR设备120和服务器130,终端110、VR设备120和服务器130之间均可以通过网络进行通信。终端110、VR设备120可以是一体式的或可分离的,终端110可以内嵌于VR设备120,从而可通过终端110上的传感器实现虚拟现实场景播放过程周围视角随角度转变,也可以由VR设备120上的传感器生成场景切换指令并发送至终端110,从而终端110生成虚拟现实场景获取请求并在浏览器通过HTML5的长连接通信方式将虚拟现实场景获取请求发送至服务器130,从服务器130实时获取更新的场景数据进行渲染显示,形成虚拟现实场景,由于整个处理过程通过在浏览器中实现HTML5技术完成,不需要终端安装特定的应用,使得虚拟现实场景方便的进行跨终端跨平台实现,且采用HTML5的长连接通信方式极大的提高了通信的实时性,实时的进行动态反馈,解决了虚拟场景的模型无法实时更新,卡顿、扭曲等错误,提高响应速度。
终端110可以是手机、平板电脑、电视、个人数字助理、穿戴式设备、拥有WebView的单片机等,终端110使用的操作系统平台不限,可为windows、android、ios、linux、树莓派等操作系统平台。VR设备120是具备虚拟现实场景成像功能的设备,可通过光学影像原理将虚拟现实视频数据转换为虚拟现实场景显示。服务器130是用于提供虚拟现实场景数据的,将与虚拟现实场景获取请求对应的虚拟现实场景数据发送至终端110,从而实现实时的场景变换显示。服务器130可以是单个服务器或服务器集群。
如图2所示,在一个实施例中,提供了一种虚拟现实数据处理方法。本实施例主要以该方法应用于上述图1中的终端110来举例说明。参照图2,该虚拟现实数据处理方法具体包括如下步骤:
步骤S210,生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器。
其中,虚拟现实场景获取请求是用于获取虚拟现实场景数据的请求,虚拟现实场景获取请求可以由终端传感器根据状态的改变触发生成或由VR设备发送的场景切换指令触发生成。场景是指一个空间区域,可包括环境、环境中的物、人等。虚拟现实场景获取请求可携带状态参数、场景标识、组件标识等,状态参数用于描述当前视角、视野范围、动作变化、主体位置等。如一个实施例中状态参数是陀螺仪生成的,包括加速度参数、方向参数、压力参数、重力参数、旋转参数等。场景标识用于标识一个场景,如游戏中不同的级别分别对应不同的场景。组件标识用于标识一个组件,组件是场景中相对独立的个体或组成部分,如将人体分为头、身体、手臂等组件,每个组件都有对应的组件标识。
其中,HTML5是标准通用标记语言下的应用超文本标记语言(HTML)的第五次重大修改,HTML5是一个跨界的统一标准,可以应用于ios\android\win等各大操作系统甚至于拥有WebView的单片机上。HTML5的长连接通信方式在客户端向服务器发送一次请求并收到服务器的响应后,即数据传输完成后保持TCP连接不断开,从而后续可以很快速的实现客户端与服务器间及时响应无延迟,实现浏览器与服务器全双工通信,允许服务器主动发送信息给客户端。
具体地,在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器,终端只需要安装浏览器就可实现虚拟现实场景的获取,无需安装特征的VR应用,且HTML5的长连接通信方式能实现终端与服务器的实时快速通信,从而实时接收虚拟现实场景数据,提高响应速度,避免卡顿、错误。
步骤S220,接收服务器根据虚拟现实场景获取请求返回的场景数据。
其中,场景数据是以纯数据形式存在的,进行解析后可渲染形成虚拟现实场景的数据,可为完整场景数据或完整场景中的部分场景数据。场景数据可由一个或多个组件数据组成,当场景数据由多个组件数据组成时,各个不同的组件数据间可通过预设的字符区分。场景数据可存在对应的场景标识,场景标识可由不同的组件标识组成。
具体地,服务器根据虚拟现实场景获取请求中携带的场景筛选信息,从候选场景数据中获取对应的场景数据,并返回至终端。如根据虚拟现实场景获取请求中携带的时间段信息,获取对应起始时间和结束时间的场景数据帧形成场景数据。还可根据虚拟现实场景获取请求中携带的视角、视野范围获取对应的场景数据。当虚拟现实场景获取请求中携带用户动作信息时,可根据用户动作信息生成与用户动作对应的场景数据,如手臂抬起时,根据手臂抬起的轨迹信息生成同步的动画人物手臂抬起数据,从而使得虚拟现实中的动画人物可进行同步的响应。
步骤S230,在浏览器通过HTML5解析场景数据分离得到组件数据。
其中,组件数据是用于描述组件的数据,组件数据解析后可经过渲染形成场景中对应的组件。可在浏览器通过HTML5通过元素拆分将场景数据分离得到组件元素,再对组件元素进行元素解析得到组件数据,组件数据包括进行渲染的必要数据,如顶点数据、纹理数据等。由于场景数据是一组连续的动画帧数据,各个组件数据也是组件对应的一组连续的帧数据,根据时间顺序将组件数据排序形成帧数据集合。
步骤S240,根据组件数据进行动画渲染,通过左右双画布在浏览器显示对应的动画,以使虚拟现实设备采集动画形成虚拟现实场景。
具体地,动画是将逐帧拍摄对象生成的图片数据连续播放而形成的运动影像,渲染是计算机动画在后期制作之前的最后一道工序,也是最终使图像符合3D场景的阶段。渲染程序通过摄像机获取了需要渲染的范围之后,就要计算光源对物体的影响,渲染程序还要根据物体的材质来计算物体表面的颜色,材质的类型不同,属性不同,纹理不同都会产生各种不同的效果。动画渲染是将组件数据输出为图形动画显示的过程,一般将帧数据传入视图投影矩阵,执行着色器绘图得到帧绘图,再将各个帧绘图进行动画绑定以形成对应的动画。虚拟现实的每帧绘图都由左右两幅图像组成,分别通过右双画布在浏览器显示。其中视图投影矩阵用于将顶点从局部坐标系转化到规范立方体,模型视图投影矩阵=投影矩阵×视图矩阵×模型矩阵,结合坐标系转化示意图3,模型矩阵将顶点从局部坐标系转化到世界坐标系中,视图矩阵将顶点从世界坐标系转化到视图坐标系下,而投影矩阵将顶点从视图坐标系转化到规范立方体中。如图4所示,为二维图像通过模型视图投影矩阵转化后形成的三维图像示意图。
在进行动画渲染时,需要先进行清空画布缓存,再设置左右视口,从而形成左右眼对应的左右画布,从而将帧绘图分别显示在左右画布上。一个场景往往包括多个不同的组件数据,由于组件数据相对独立,从而对于各个组件数据可进行并行渲染,加快渲染速度。且组件数据由于相对独立,可将常用的组件对应的组件数据与组件标识建立关联关系存入数据库,后续根据组件标识直接从数据库获取对应的组件数据,实现复用性。形成从实体到组件到系统为核心基础的架构,能快速的实现实时渲染与搭建功能。
虚拟现实设备对左右双画布显示的动画进行光学成像,形成虚拟现实场景,由于通过HTML5实时通信以及分离组件式快速渲染,对于场景切换可达到实时切换显示,从而形成逼真、良好的虚拟现实场景。
本实施例中,通过生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将虚拟现实场景获取请求发送至服务器,接收服务器根据虚拟现实场景获取请求返回的场景数据,在浏览器通过HTML5解析场景数据分离得到组件数据,根据组件数据进行动画渲染,通过左右双画布在浏览器显示对应的动画,以使虚拟现实设备采集所述动画形成虚拟现实场景,采用HTML5的方式,只要存在浏览器就可实现虚拟现实技术,不需要安装特定的应用,使得虚拟现实场景方便的进行跨终端跨平台实现,且采用HTML5的长连接通信方式极大的提高了通信的实时性,实时的进行动态反馈,解决了虚拟场景的模型无法实时更新,卡顿、扭曲等错误,提高响应速度。以组件为单位进行渲染便于实现复用性,形成从实体到组件到系统为核心基础的架构,能快速的实现实时渲染与搭建功能。
在一个实施例中,步骤S210之前,还包括:与服务器建立长连接。
具体地,可通过WebSocket协议与服务器建立长连接,WebSocket协议是基于TCP的一种新的网络协议,在实现WebSocket连线过程中,结合图5所示,为使用WebSocket进行数据实时互通传输的示意图,需要通过浏览器发出WebSocket连线请求,然后服务器发出回应,这个过程称为“握手”。在WebSocket API,浏览器和服务器只需要做一个握手的动作,如图所示,然后,浏览器和服务器之间就形成了一条快速通道,相当于建立了长连接,两者之间就直接可以数据互相传送。
如图6所示,步骤S210包括:
步骤S211,接收虚拟现实设备发送的场景切换指令,场景切换指令包括当前虚拟现实设备对应的状态参数。
其中,场景切换指令表示当前场景存在变化,需要重新获取相应的场景数据进行场景的更新,场景切换包括背景的改变,如环境的变化,或动态主体的改变,如动画主体的动作改变等。状态参数用于描述当前虚拟现实设备的当前状态,可以是单一的参数,如当前视角,也可以是连续的变化参数,如移动轨迹参数、旋转变化参数等。
具体地,终端接收虚拟现实设备发送的场景切换指令,场景切换指令由虚拟现实设备的传感器捕捉用户的运动产生。终端与虚拟现实设备通信时可采用近距离通信方式或远距离通信方式,如蓝牙、WIFI等。如果终端与虚拟现实设备集成于一体,还可通过电路传输直接接收场景切换指令。
步骤S212,根据场景切换指令生成虚拟现实场景获取请求,虚拟现实场景获取请求携带当前虚拟现实设备对应的状态参数。
具体地,根据场景切换指令实时生成虚拟现实场景获取请求,虚拟现实场景获取请求可携带终端标识,便于服务器确定数据返回对象。
步骤S213,将虚拟现实场景获取请求在浏览器通过HTML5的多线程实时发送至服务器,以使服务器根据所述状态参数获取对应的目标场景数据。
具体地,由于已经建立了长连接,在浏览器可通过HTML5的多线程实时发送虚拟现实场景获取请求至服务器。当使用WebSocket协议与服务器建立长连接时,可通过HTML5的多线程WebSocket协议实时发送虚拟现实场景获取请求至服务器。当存在多个虚拟现实场景获取请求时,可通过多线程进行发送,提高请求的效率。在一个实施例中,将多个虚拟现实场景获取请求进行合并后再发送,减少服务器的处理压力。
本实施例中,实时接收虚拟现实设备发送的场景切换指令,随着虚拟现实设备状态的改变请求对应的场景数据,使得虚拟现在场景随着用户的操作实时改变,实现真正的交互式实时虚拟现实体验。
在一个实施例中,如图7所示,步骤S230包括:
步骤S231,解析场景数据为对应的帧数据集合。
具体地,由于动画由连续的帧图像产生,解析场景数据由一系列随时间变化的帧数据组成,根据时间信息,可对场景数据进行解析生成各个随时间变化的帧数据,各个帧数据组成帧数据集合。
步骤S232,通过浏览器内置的网页组件对帧数据集合中的各个帧数据进行元素拆分和元素解析,得到各个帧数据所对应图形的构成帧组件数据。
其中,网页组件是一个基于webkit引擎(一个开源的浏览器引擎)的用于展现web页面的组件,如WebView组件。元素拆分用于对帧数据进行拆分得到对应的帧组件元素,如将帧数据对应的场景元素拆分为花、树木等组件元素,然后通过元素解析对组件元素进行解析,分别对花、树木进行解析,解析的过程可根据需要自定义,根据组件元素的具体构成和形成算法,可对应不同的解析算法。如从组件元素中获取贴图、纹理、顶点、模型数据、矩阵等中的两种或多种数据。分别对各个帧数据进行处理得到所对应图形的构成帧组件数据。
本实施例中,通过浏览器内置的网页组件对帧数据进行解析,简单方便,便于移植于各个不同平台不同终端,实现良好的跨平台跨终端性。
在一个实施例中,如图8所示,步骤S240包括:
步骤S241,通过多线程对帧数据集合中的各个帧数据所对应的帧组件数据进行绘图渲染生成对应的各个帧绘图。
其中,进行绘图渲染可以通过WebGL渲染,WebGL可以为HTML5Canvas画布提供硬件3D加速渲染,可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型,还能创建复杂的导航和数据视觉化。帧绘图是图形形式的图片,连续的帧绘图形成动画。当前帧绘制完毕,则清空画布缓存进行下一帧的绘制。
具体地,每个帧一般都由多个组件组成,相应的对应多个帧组件数据,针对每个帧都采用多线程对帧组件数据进行绘图渲染,相当于对每个帧内的各个组件进行并行渲染。进一步的,不同的帧之间,也可通过多线程进行渲染,如同时对左右画布对应的帧组件数据进行渲染,其中可通过递归与并行操作的方式实现多线程渲染,从而可一次性对多个帧进行并行渲染,进一步提高渲染的实时性。如图9所示,为通过多线程进行绘图渲染的示意图,经过绘图渲染得到点阵数据。
步骤S242,对预设时长内的帧绘图进行动画绑定以形成对应的动画。
具体地,动画绑定是添加对应的动画事件,对预设时长内的帧绘图进行动画绑定以形成对应的动画。预设时长可要根据需要自定义,或根据场景内容自动确定。在一个实施例中,使用requeseAnimate进行动画管理,通过递归的方式,执行绘图函数,产生动画。
本实施例中,通过多线程进行渲染,绑定实时通信动画,解决现实场景发生变化及时渲染的问题。
在一个实施例中,如图10所示,步骤S240包括:
步骤S243,获取眼睛所视的屏幕信息、可视角度和瞳距信息,根据眼睛所视的屏幕信息、可视角度和瞳距信息确定左右眼画布。
具体地,屏幕信息用于描述屏幕,包括屏幕尺寸、屏幕与VR设备的距离等。瞳距信息就是双眼的间距,也就是瞳孔的间距。可视角度,是指当前观察屏幕的角度。根据眼睛所视的屏幕信息、可视角度和瞳距信息确定左右眼画布。如图11所示,为左右眼数据区分和双画布视图示意图。
步骤S244,获取当前帧数据对应的动态变换矩阵,变换矩阵包括移动矩阵、旋转矩阵、缩放矩阵、缩放矩阵。
具体地,动态变换矩阵是用于将局部坐标系下的顶点坐标转化到世界坐标系下,涉及局部坐标系相对于世界坐标系的位置和方向,将点的初始位置坐标映射到平移、旋转、缩放后的第二位置坐标,进行平移、旋转、缩放分别对应了移动矩阵、旋转矩阵、缩放矩阵。通过动态变换矩阵动态的确定当前组件数据对应的位置,从而动态生成不同位置的组件,快速方便。
步骤S245,获取组件数据对应的目标局部模型数据,根据动态变换矩阵和目标局部模型数据进行着色绘图。
其中,目标局部模型数据用于构建一个组件,由于一个主体或环境可由一个或多个组件构建组合形成,其中主体包括人、动物等具有动态变化的个体。且不同的主体或环境间可能存在相同的组件,或不同的主体的组件相同,只是对组件进行简单的形态变换得到具有个体特征的主体,从而目标局部模型数据可在不同的主体和环境间进行复用。可提前建立局部模型数据库,分别存储多个组件对应的局部模型数据,各个组件对应的局部模型数据可与组件标识对应。从而服务器返回的组件数据,只需要存在组件标识就可从局部模型数据库中获取对应的目标局部模型数据,快速进行组件渲染。
根据动态变换矩阵对目标局部模型数据的位置、形态进行确定,从而形成具有个性特征的与当前场景对应的待渲染数据,将待渲染数据输入着色器进行着色绘图。
本实施例中,通过目标局部模型数据和动态变换矩阵,实现组件数据的快速获取和重复利用,可提高虚拟现实的渲染构建性能速度,提升3D模型的渲染性能。
在一个实施例中,如图12所示,在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器的步骤之前,还包括:步骤S250,判断浏览器中是否存在虚拟现实场景获取请求对应的缓存数据,如果存在,则从浏览器读取缓存数据得到所述场景数据,进入步骤S230,如果不存在,则进入在浏览器通过HTML5与服务器建立的长连接通信方式发送所述虚拟现实场景获取请求至服务器的步骤。
具体地,利用HTML5的离线缓存接口和属性来进行本地缓存化处理,具体的缓存策略可根据需要自定义。如判断组件数据是否为基本组件,如果是,则存入浏览器的本地缓存,其中基本组件是指复用率高的组件,如人体的基本组成部分等。虚拟现实场景获取请求携带虚拟现实场景所需要场景数据信息,虚拟现实场景获取请求可包括场景标识、组件标识中的至少一种,如果是场景标识,则可获取组成场景的各个组件标识,从而通过组件标识判断浏览器中是否存在缓存的对应的组件数据。如果是组件标识,则可直接判断浏览器中是否存在缓存的对应的组件数据。在一个实施例中,组件数据包括局部模型数据,判断浏览器中是否存在虚拟现实场景获取请求对应的缓存数据的步骤包括:获取局部模型标识,根据局部模型标识判断浏览器中是否存在对应的局部模型数据。
在一个实施例中,如果浏览器中存在虚拟现实场景获取请求对应的缓存数据,还进一步判断缓存数据是否过期,如果未过期,则进入步骤S230,如果过期,则进入在浏览器通过HTML5与服务器建立的长连接通信方式发送所述虚拟现实场景获取请求至服务器的步骤。其中,可通过Token验证和时间验证判断缓存数据是否过期。
本实施例中,通过本地缓存可直接从本地获取数据,不需要向服务器发送请求就可快速获取数据,提高了数据获取效率,与数据的利用率。
如图13所示,为一个具体的实施例中,请求获取场景数据的流程示意图,通过如图所示的步骤进行场景数据的获取。其中ETag是验证器,last-modified表示最后截止时间,If-None-Match是一个条件式请求首部。对于GETGET和HEAD请求方法来说,当且仅当服务器上没有任何资源的ETag属性值与这个首部中列出的相匹配的时候,服务器会才返回所请求的资源,响应码为200。对于其他方法来说,当且仅当最终确认没有已存在的资源的ETag属性值与这个首部中所列出的相匹配的时候,才会对请求进行相应的处理。If-Modified-Since是标准的HTTP请求头标签,在发送HTTP请求时,把浏览器端缓存页面的最后修改时间一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。如果时间一致,那么返回HTTP状态码304(不返回文件内容),客户端接到之后,就直接把本地缓存文件显示到浏览器中。如果时间不一致,就返回HTTP状态码200和新的文件内容,客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示到浏览器中。其中缓存协商就是通过缓存暂定协商,服务器决策是指根据服务器逻辑进行决策。
在一个实施例中,判断浏览器中是否存在所述虚拟现实场景获取请求对应的缓存数据的步骤包括:根据虚拟现实场景获取请求确定对应的目标组件标识,判断所述浏览器中是否存在目标组件标识对应的缓存的目标局部模型数据,如果存在,则进入步骤S310。
具体地,每个场景都由固定的组件组成,可提前建立场景与组件集合的关联关系,如果虚拟现实场景获取请求包括场景标识,则根据关联关系获取对应的目标组件标识。各个组件都可存在对应的局部模型数据,组件标识与局部模型数据关联,从而根据目标组件标识判断浏览器中是否存在目标组件标识对应的缓存的目标局部模型数据。如果存在,则可直接复用目标局部模型数据。由于局部模型只能构建基本特征,不具备个性特征,还需要动态变换矩阵构建与场景对应的具备个性特征的动态变化的组件。
如图14所示,方法还包括:步骤S310,将虚拟现实场景获取请求修改为动态变换矩阵获取请求,在浏览器通过HTML5与服务器建立的长连接通信方式发送动态变换矩阵获取请求至服务器。
步骤S320,接收服务器根据动态变换矩阵获取请求返回的动态变换矩阵,动态变换矩阵和目标局部模型数据组成组件数据。
具体地,由于具备了模型数据,从而只需要从服务器获取动态变换矩阵就可将模型数据与动态变换矩阵结合得到对应的组件数据进行渲染。将虚拟现实场景获取请求修改为动态变换矩阵获取请求,减少终端与服务器间数据传输量。
在一个实施例中,虚拟现实数据处理方法的架构图如图15所示,包括视觉层410、逻辑层420和虚拟现实处理层430,其中视觉层410包括场景处理模块411,每个场景处理模块411包括组件分割器411a、元素解析器411b和动画控制器411c。逻辑层420包括管理调控接口421与调用实体接口422,其中视觉层410与逻辑层420之间通过事件驱动获取需要的数据,视觉层410与逻辑层420之间通信需要通过虚拟现实处理层430提供支持。其中虚拟现实处理层430包括离线缓存模块431、局域网构建模块432、WebSocket通信模块433、Three.js模块434、通信缓存模块435。
在一个具本的实施例中,终端可移动式嵌入虚拟现实设备通过基于上述架构,结合图16,具体的虚拟现实数据处理方法过程如下:
1、通过终端传感器获取变化的状态参数,根据变化的状态参数生成虚拟现实场景获取请求,虚拟现实场景获取请求包括状态信息、目标场景标识,其中状态信息包括可视角度参数、瞳距参数等。
2、根据目标场景标识获取对应的目标组件标识集合,获取组件标识集合中的各个目标组件标识,判断所述浏览器中是否存在所述目标组件标识对应的目标组件数据,如果存在,则直接从浏览器缓存获取目标组件数据。如果不存在,则在浏览器通过HTML5的多线程WebSocket协议将虚拟现实场景获取请求发送至服务器。
3、接收服务器根据所述虚拟现实场景获取请求返回的场景数据,解析所述场景数据为对应的帧数据集合,通过浏览器内置的WebView组件对帧数据集合中的各个帧数据进行元素拆分和元素解析,得到各个帧数据所对应图形的帧组件数据,包括第一帧组件数据、第二帧组件数据、……第M帧组件数据,其中M表示帧的数目,各个帧组件数据又包括多个组件,如第一帧组件数据包括第一组件数据、第二组件数据、……每N组件数据,N为组件总个数。进行Webgl初始化,包括编译着色器程序和初始化顶点缓存、纹理缓存。
4、清空画布缓存,获取眼睛所视的屏幕信息、可视角度和瞳距信息,根据眼睛所视的屏幕信息、可视角度和瞳距信息确定左右眼画布,获取当前帧数据对应的动态变换矩阵,动态变换矩阵包括移动矩阵、旋转矩阵、缩放矩阵,分别获取各个帧对应的组件数据对应的目标局部模型数据,通过多线程根据动态变换矩阵和目标局部模型数据传入视图投影矩阵,进行着色绘图得到帧绘图,其中目标局部模型数据包括顶点数据、索引数据、UV纹理数据、法线贴图,重复进入步骤4,生成下一帧数据对应的绘图,将不同的帧绘图进行动画绑定生成动画。如图17所示,在进行着色绘图的过程中,将动态变换矩阵和目标局部模型数据输入顶点着色器、进行图元装配,再输入片元着色器根据材质和灯光进行着色,并光栅化,最终得到帧绘图。
5、判断是否存在需要存入浏览器本地缓存的组件数据,如果存在,则存在浏览器本地缓存并设置相应的标识数据。
如图18所示,在一个实施例中,提供了一种虚拟现实数据处理装置,装置包括:
发送模块510,用于生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将虚拟现实场景获取请求发送至服务器。
接收模块520,用于接收服务器根据虚拟现实场景获取请求返回的场景数据。
组件分离模块530,用于在浏览器通过HTML5解析场景数据分离得到组件数据。
渲染模块540,用于根据组件数据进行动画渲染,通过左右双画布在浏览器显示对应的动画,以使虚拟现实设备采集动画形成虚拟现实场景。
在一个实施例中,如图19所示,装置还包括:
连接建立模块550,用于通过WebSocket协议与服务器建立长连接。
接收模块520,还用于接收虚拟现实设备发送的场景切换指令,场景切换指令包括当前虚拟现实设备对应的状态参数。
发送模块510,还用于根据场景切换指令生成虚拟现实场景获取请求,虚拟现实场景获取请求携带所述当前虚拟现实设备对应的状态参数,将虚拟现实场景获取请求在浏览器通过HTML5的多线程WebSocket协议实时发送至服务器,以使服务器根据状态参数获取对应的目标场景数据。
在一个实施例中,如图20所示,组件分离模块530包括:
帧数据集合模块531,用于解析场景数据为对应的帧数据集合。
拆分解析模块532,用于通过浏览器内置的网页组件对帧数据集合中的各个帧数据进行元素拆分和元素解析,得到各个帧数据所对应图形的帧组件数据。
在一个实施例中,如图21所示,渲染模块540包括:
帧绘图模块541,用于通过多线程对帧数据集合中的各个帧数据所对应的帧组件数据进行绘图渲染生成对应的各个帧绘图。
动画绑定模块542,用于对预设时长内的所述帧绘图进行动画绑定以形成对应的动画。
在一个实施例中,如图22所示,渲染模块540包括:
画布确定模块543,用于获取眼睛所视的屏幕信息、可视角度和瞳距信息,根据所述眼睛所视的屏幕信息、可视角度和瞳距信息确定左右眼画布;
获取模块544,用于获取所述当前帧数据对应的动态变换矩阵,所述变换矩阵包括移动矩阵、旋转矩阵、缩放矩阵,获取所述组件数据对应的目标局部模型数据;
帧绘图模块545,还用于根据所述动态变换矩阵和目标局部模型数据进行着色绘图。
在一个实施例中,如图23所示,装置还包括:
判断模块560,用于判断浏览器中是否存在虚拟现实场景获取请求对应的缓存数据,如果存在,则进入缓存读取模块570,如果不存在,则进入发送模块510。
缓存读取模块570,用于从浏览器读取缓存数据得到场景数据,进入组件分离模块530。
图24示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图24所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现虚拟现实数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行虚拟现实数据处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图24中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的虚拟现实数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图24所示的计算机设备上运行。计算机设备的存储器中可存储组成该虚拟现实数据处理装置的各个程序模块,比如,图18所示的发送模块510、接收模块520、组件分离模块530和渲染模块540。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的虚拟现实数据处理方法中的步骤。
例如,图24所示的计算机设备可以通过如图18所示的虚拟现实数据处理装置中的发送模块510生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将虚拟现实场景获取请求发送至服务器。通过接收模块520接收服务器根据虚拟现实场景获取请求返回的场景数据。通过组件分离模块530在浏览器通过HTML5解析场景数据分离得到组件数据。通过渲染模块540根据组件数据进行动画渲染,通过左右双画布在浏览器显示对应的动画,以使虚拟现实设备采集动画形成虚拟现实场景。
在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将虚拟现实场景获取请求发送至服务器,接收服务器根据所述虚拟现实场景获取请求返回的场景数据,在浏览器通过HTML5解析场景数据分离得到组件数据,根据组件数据进行动画渲染,通过左右双画布在浏览器显示对应的动画,以使虚拟现实设备采集动画形成虚拟现实场景。
在一个实施例中,所述处理器在执行生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将虚拟现实场景获取请求发送至服务器的步骤之前,还用于执行以下步骤:通过WebSocket协议与服务器建立长连接。
处理器所执行的生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将虚拟现实场景获取请求发送至服务器的步骤包括:接收虚拟现实设备发送的场景切换指令,场景切换指令包括当前虚拟现实设备对应的状态参数,根据场景切换指令生成虚拟现实场景获取请求,虚拟现实场景获取请求携带当前虚拟现实设备对应的状态参数,将虚拟现实场景获取请求在浏览器通过HTML5的多线程WebSocket协议实时发送至服务器,以使服务器根据状态参数获取对应的目标场景数据。
在一个实施例中,处理器所执行的在浏览器通过HTML5解析场景数据分离得到组件数据的步骤包括:解析场景数据为对应的帧数据集合,通过浏览器内置的网页组件对所述帧数据集合中的各个帧数据进行元素拆分和元素解析,得到各个帧数据所对应图形的帧组件数据。
在一个实施例中,处理器所执行的根据所述组件数据进行动画渲染,通过左右双画布在浏览器显示对应的动画的步骤包括:通过多线程对帧数据集合中的各个帧数据所对应的帧组件数据进行绘图渲染生成对应的各个帧绘图,对预设时长内的帧绘图进行动画绑定以形成对应的动画。
在一个实施例中,处理器所执行的根据所述组件数据进行动画渲染,通过左右双画布在所述浏览器显示对应的动画的步骤包括:获取眼睛所视的屏幕信息、可视角度和瞳距信息,根据眼睛所视的屏幕信息、可视角度和瞳距信息确定左右眼画布,获取当前帧数据对应的动态变换矩阵,所述变换矩阵包括移动矩阵、旋转矩阵、缩放矩阵,获取所述组件数据对应的目标局部模型数据,根据动态变换矩阵和目标局部模型数据进行着色绘图。
在一个实施例中,所述处理器在执行在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器的步骤之前,还用于执行以下步骤:判断浏览器中是否存在虚拟现实场景获取请求对应的缓存数据,如果存在,则从浏览器读取缓存数据得到所述场景数据,进入执行在浏览器通过HTML5解析所述场景数据分离得到组件数据的步骤;如果不存在,则进入执行在浏览器通过HTML5与服务器建立的长连接通信方式发送所述虚拟现实场景获取请求至服务器的步骤。
在一个实施例中,处理器所执行的判断浏览器中是否存在所述虚拟现实场景获取请求对应的缓存数据的步骤包括:根据虚拟现实场景获取请求确定对应的目标组件标识,判断浏览器中是否存在目标组件标识对应的缓存的目标局部模型数据。
处理器执行计算机程序时执行的步骤还包括:如果存在,则将虚拟现实场景获取请求修改为动态变换矩阵获取请求,在浏览器通过HTML5的长连接通信方式将动态变换矩阵获取请求发送至服务器,接收服务器根据动态变换矩阵获取请求返回的动态变换矩阵,动态变换矩阵和目标局部模型数据组成组件数据。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将虚拟现实场景获取请求发送至服务器,接收服务器根据所述虚拟现实场景获取请求返回的场景数据,在浏览器通过HTML5解析场景数据分离得到组件数据,根据组件数据进行动画渲染,通过左右双画布在浏览器显示对应的动画,以使虚拟现实设备采集动画形成虚拟现实场景。
在一个实施例中,所述处理器在执行生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将虚拟现实场景获取请求发送至服务器的步骤之前,还用于执行以下步骤:通过WebSocket协议与服务器建立长连接。
处理器所执行的生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将虚拟现实场景获取请求发送至服务器的步骤包括:接收虚拟现实设备发送的场景切换指令,场景切换指令包括当前虚拟现实设备对应的状态参数,根据场景切换指令生成虚拟现实场景获取请求,虚拟现实场景获取请求携带当前虚拟现实设备对应的状态参数,将虚拟现实场景获取请求在浏览器通过HTML5的多线程WebSocket协议实时发送至服务器,以使服务器根据状态参数获取对应的目标场景数据。
在一个实施例中,处理器所执行的在浏览器通过HTML5解析场景数据分离得到组件数据的步骤包括:解析场景数据为对应的帧数据集合,通过浏览器内置的网页组件对所述帧数据集合中的各个帧数据进行元素拆分和元素解析,得到各个帧数据所对应图形的帧组件数据。
在一个实施例中,处理器所执行的根据所述组件数据进行动画渲染,通过左右双画布在浏览器显示对应的动画的步骤包括:通过多线程对帧数据集合中的各个帧数据所对应的帧组件数据进行绘图渲染生成对应的各个帧绘图,对预设时长内的帧绘图进行动画绑定以形成对应的动画。
在一个实施例中,处理器所执行的根据所述组件数据进行动画渲染,通过左右双画布在所述浏览器显示对应的动画的步骤包括:获取眼睛所视的屏幕信息、可视角度和瞳距信息,根据眼睛所视的屏幕信息、可视角度和瞳距信息确定左右眼画布,获取当前帧数据对应的动态变换矩阵,所述变换矩阵包括移动矩阵、旋转矩阵、缩放矩阵,获取所述组件数据对应的目标局部模型数据,根据动态变换矩阵和目标局部模型数据进行着色绘图。
在一个实施例中,所述处理器在执行在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器的步骤之前,还用于执行以下步骤:判断浏览器中是否存在虚拟现实场景获取请求对应的缓存数据,如果存在,则从浏览器读取缓存数据得到所述场景数据,进入执行在浏览器通过HTML5解析所述场景数据分离得到组件数据的步骤;如果不存在,则进入执行在浏览器通过HTML5与服务器建立的长连接通信方式发送所述虚拟现实场景获取请求至服务器的步骤。
在一个实施例中,处理器所执行的判断浏览器中是否存在所述虚拟现实场景获取请求对应的缓存数据的步骤包括:根据虚拟现实场景获取请求确定对应的目标组件标识,判断浏览器中是否存在目标组件标识对应的缓存的目标局部模型数据。
处理器执行计算机程序时执行的步骤还包括:如果存在,则将虚拟现实场景获取请求修改为动态变换矩阵获取请求,在浏览器通过HTML5的长连接通信方式将动态变换矩阵获取请求发送至服务器,接收服务器根据动态变换矩阵获取请求返回的动态变换矩阵,动态变换矩阵和目标局部模型数据组成组件数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种虚拟现实数据处理方法,所述方法包括:
生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器;
接收服务器根据所述虚拟现实场景获取请求返回的场景数据;
在浏览器通过HTML5解析所述场景数据分离得到组件数据,包括:解析所述场景数据为对应的帧数据集合;通过浏览器内置的网页组件对所述帧数据集合中的各个帧数据进行元素拆分和元素解析,得到各个帧数据所对应图形的帧组件数据;
根据所述组件数据进行动画渲染,通过左右双画布在所述浏览器显示对应的动画,以使虚拟现实设备采集所述动画形成虚拟现实场景。
2.根据权利要求1所述的方法,其特征在于,所述生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器的步骤之前,还包括:
与服务器建立长连接;
所述生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器的步骤包括:
接收虚拟现实设备发送的场景切换指令,所述场景切换指令包括当前虚拟现实设备对应的状态参数;
根据所述场景切换指令生成虚拟现实场景获取请求,所述虚拟现实场景获取请求携带所述当前虚拟现实设备对应的状态参数;
将所述虚拟现实场景获取请求在浏览器通过HTML5的多线程实时发送至所述服务器,以使服务器根据所述状态参数获取对应的目标场景数据。
3.根据权利要求1所述的方法,其特征在于,所述元素拆分用于对帧数据进行拆分得到对应的帧组件元素。
4.根据权利要求3所述的方法,其特征在于,所述根据所述组件数据进行动画渲染,通过左右双画布在所述浏览器显示对应的动画的步骤包括:
通过多线程对帧数据集合中的各个帧数据所对应的帧组件数据进行绘图渲染生成对应的各个帧绘图;
对预设时长内的所述帧绘图进行动画绑定以形成对应的动画。
5.根据权利要求3所述的方法,其特征在于,所述根据所述组件数据进行动画渲染,通过左右双画布在所述浏览器显示对应的动画的步骤包括:
获取眼睛所视的屏幕信息、可视角度和瞳距信息;
根据所述眼睛所视的屏幕信息、可视角度和瞳距信息确定左右眼画布;
获取当前帧数据对应的动态变换矩阵,所述变换矩阵包括移动矩阵、旋转矩阵、缩放矩阵;
获取所述组件数据对应的目标局部模型数据,根据所述动态变换矩阵和目标局部模型数据进行着色绘图。
6.根据权利要求1所述的方法,其特征在于,所述在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器的步骤之前,还包括:
判断浏览器中是否存在所述虚拟现实场景获取请求对应的缓存数据;
如果存在,则从浏览器读取所述缓存数据得到所述场景数据,进入在浏览器通过HTML5解析所述场景数据分离得到组件数据的步骤;
如果不存在,则进入所述在浏览器通过HTML5与服务器建立的长连接通信方式发送所述虚拟现实场景获取请求至服务器的步骤。
7.根据权利要求6所述的方法,其特征在于,所述判断浏览器中是否存在所述虚拟现实场景获取请求对应的缓存数据的步骤包括:
根据所述虚拟现实场景获取请求确定对应的目标组件标识;
判断所述浏览器中是否存在所述目标组件标识对应的缓存的目标局部模型数据;
所述方法还包括:
如果存在,则将所述虚拟现实场景获取请求修改为动态变换矩阵获取请求,在浏览器通过HTML5的长连接通信方式将所述动态变换矩阵获取请求发送至服务器;
接收服务器根据所述动态变换矩阵获取请求返回的动态变换矩阵,所述动态变换矩阵和所述目标局部模型数据组成所述组件数据。
8.一种虚拟现实数据处理装置,其特征在于,所述装置包括:
发送模块,用于生成虚拟现实场景获取请求,在浏览器通过HTML5的长连接通信方式将所述虚拟现实场景获取请求发送至服务器;
接收模块,用于接收服务器根据所述虚拟现实场景获取请求返回的场景数据;
组件分离模块,用于在浏览器通过HTML5解析所述场景数据分离得到组件数据,包括:帧数据集合模块,用于解析所述场景数据为对应的帧数据集合;拆分解析模块,用于通过浏览器内置的网页组件对所述帧数据集合中的各个帧数据进行元素拆分和元素解析,得到各个帧数据所对应图形的帧组件数据;
渲染模块,用于根据所述组件数据进行动画渲染,通过左右双画布在所述浏览器显示对应的动画,以使虚拟现实设备采集所述动画形成虚拟现实场景。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
连接建立模块,用于与服务器建立长连接;
所述接收模块,还用于接收虚拟现实设备发送的场景切换指令,所述场景切换指令包括当前虚拟现实设备对应的状态参数;
所述发送模块,还用于根据所述场景切换指令生成虚拟现实场景获取请求,所述虚拟现实场景获取请求携带所述当前虚拟现实设备对应的状态参数,将所述虚拟现实场景获取请求在浏览器通过HTML5的多线程实时发送至所述服务器,以使服务器根据所述状态参数获取对应的目标场景数据。
10.根据权利要求8所述的装置,其特征在于,所述元素拆分用于对帧数据进行拆分得到对应的帧组件元素。
11.根据权利要求10所述的装置,其特征在于,所述渲染模块包括:
帧绘图模块,用于通过多线程对帧数据集合中的各个帧数据所对应的帧组件数据进行绘图渲染生成对应的各个帧绘图;
动画绑定模块,用于对预设时长内的所述帧绘图进行动画绑定以形成对应的动画。
12.根据权利要求10所述的装置,其特征在于,所述渲染模块包括:
画布确定模块,用于获取眼睛所视的屏幕信息、可视角度和瞳距信息,根据所述眼睛所视的屏幕信息、可视角度和瞳距信息确定左右眼画布;
获取模块,用于获取当前帧数据对应的动态变换矩阵,所述变换矩阵包括移动矩阵、旋转矩阵、缩放矩阵,获取所述组件数据对应的目标局部模型数据;
帧绘图模块,还用于根据所述动态变换矩阵和目标局部模型数据进行着色绘图。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断浏览器中是否存在所述虚拟现实场景获取请求对应的缓存数据,如果存在,则进入第一获取模块,如果不存在,则进入发送模块;
第一获取模块,用于从浏览器读取所述缓存数据得到所述场景数据,进入组件分离模块。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711241175.1A CN109861948B (zh) | 2017-11-30 | 2017-11-30 | 虚拟现实数据处理方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711241175.1A CN109861948B (zh) | 2017-11-30 | 2017-11-30 | 虚拟现实数据处理方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109861948A CN109861948A (zh) | 2019-06-07 |
CN109861948B true CN109861948B (zh) | 2022-04-08 |
Family
ID=66888527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711241175.1A Active CN109861948B (zh) | 2017-11-30 | 2017-11-30 | 虚拟现实数据处理方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109861948B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502156B (zh) * | 2019-07-17 | 2023-07-14 | 视联动力信息技术股份有限公司 | 一种电子白板多画布的管理方法、装置、设备、介质 |
CN110597392B (zh) * | 2019-07-31 | 2023-06-23 | 上海上业信息科技股份有限公司 | 一种基于vr模拟世界的交互方法 |
CN110620761B (zh) * | 2019-08-02 | 2022-01-11 | 重庆爱奇艺智能科技有限公司 | 一种实现多人虚拟互动的方法与装置 |
CN110488981B (zh) * | 2019-08-28 | 2022-08-23 | 长春理工大学 | 基于云渲染的手机端vr场景交互式显示方法 |
CN110717963B (zh) * | 2019-08-30 | 2023-08-11 | 杭州群核信息技术有限公司 | 一种基于WebGL的可替换模型的混合渲染展示方法、系统及存储介质 |
CN110888633B (zh) * | 2019-10-18 | 2023-04-11 | 福建天晴数码有限公司 | 一种Unity与H5组件同步方法及系统 |
CN111111154B (zh) * | 2019-12-04 | 2023-06-06 | 北京代码乾坤科技有限公司 | 虚拟游戏对象的建模方法、装置、处理器及电子装置 |
CN110941342B (zh) * | 2019-12-04 | 2023-07-18 | 中国联合网络通信集团有限公司 | 一种数据处理方法、vr终端及服务器 |
CN111127601A (zh) * | 2019-12-25 | 2020-05-08 | 北京金山猎豹科技有限公司 | 一种动画切换方法、装置、电子设备及存储介质 |
CN111127621B (zh) * | 2019-12-31 | 2024-02-09 | 歌尔科技有限公司 | 画面渲染方法、装置和可读存储介质 |
CN112015271B (zh) * | 2020-03-10 | 2022-03-25 | 中电科安全科技河北有限公司 | 基于云平台的虚拟现实控制方法、装置及虚拟现实设备 |
CN111901383B (zh) * | 2020-06-30 | 2023-07-11 | 深圳市金蝶天燕云计算股份有限公司 | 数据请求处理方法、装置、计算机设备和存储介质 |
CN112435320B (zh) * | 2020-11-05 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种数据处理方法、装置及电子设备和存储介质 |
CN112328237A (zh) * | 2020-11-25 | 2021-02-05 | 北京软通智慧城市科技有限公司 | 一种场景展示方法、装置、计算机设备和存储介质 |
CN112506655B (zh) * | 2020-12-07 | 2023-12-15 | 深圳市安冠科技有限公司 | 一种绘图方法、存储介质及应用服务器 |
CN112835621B (zh) * | 2021-01-13 | 2024-04-02 | 西安飞蝶虚拟现实科技有限公司 | 跨平台虚拟现实资源处理方法及处理系统 |
CN113127126B (zh) * | 2021-04-30 | 2023-06-27 | 上海哔哩哔哩科技有限公司 | 对象展示方法及装置 |
CN113034659A (zh) * | 2021-05-24 | 2021-06-25 | 成都天锐星通科技有限公司 | 三维渲染数据处理方法、装置、电子设备和可读存储介质 |
CN113284257A (zh) * | 2021-05-25 | 2021-08-20 | 成都威爱新经济技术研究院有限公司 | 一种虚拟场景内容的模块化生成展示方法及系统 |
CN113360823A (zh) * | 2021-06-03 | 2021-09-07 | 广州趣丸网络科技有限公司 | 一种动画数据传输方法、装置、设备和存储介质 |
CN113676485A (zh) * | 2021-08-27 | 2021-11-19 | 中国电信股份有限公司 | 虚拟现实交互方法、装置、存储介质与电子设备 |
CN113709520A (zh) * | 2021-09-06 | 2021-11-26 | 山东维创精密电子有限公司 | 一种虚拟现实服务器用的数据整合平台 |
CN114721737A (zh) * | 2022-03-28 | 2022-07-08 | 京东方科技集团股份有限公司 | 场景数据的管理方法、装置、电子设备及可读介质 |
CN115035218B (zh) * | 2022-08-11 | 2022-11-01 | 湖南湘生网络信息有限公司 | 交互动画制作方法、装置、计算机设备和存储介质 |
CN117274464B (zh) * | 2023-11-15 | 2024-04-16 | 成都市灵奇空间软件有限公司 | 基于元宇宙的数据渲染方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885788A (zh) * | 2014-04-14 | 2014-06-25 | 焦点科技股份有限公司 | 一种基于模型组件化动态web 3d虚拟现实场景的搭建方法及系统 |
CN104035760A (zh) * | 2014-03-04 | 2014-09-10 | 苏州天魂网络科技有限公司 | 跨移动平台实现沉浸式虚拟现实的系统 |
CN106897108A (zh) * | 2017-01-20 | 2017-06-27 | 华南理工大学 | 一种基于WebVR的虚拟现实全景漫游的实现方法 |
CN107170050A (zh) * | 2017-06-05 | 2017-09-15 | 北京寰和通创科技有限公司 | 物联图元的3d场景建立方法及系统 |
CN107357560A (zh) * | 2017-04-28 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 交互处理方法及装置 |
-
2017
- 2017-11-30 CN CN201711241175.1A patent/CN109861948B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035760A (zh) * | 2014-03-04 | 2014-09-10 | 苏州天魂网络科技有限公司 | 跨移动平台实现沉浸式虚拟现实的系统 |
CN103885788A (zh) * | 2014-04-14 | 2014-06-25 | 焦点科技股份有限公司 | 一种基于模型组件化动态web 3d虚拟现实场景的搭建方法及系统 |
CN106897108A (zh) * | 2017-01-20 | 2017-06-27 | 华南理工大学 | 一种基于WebVR的虚拟现实全景漫游的实现方法 |
CN107357560A (zh) * | 2017-04-28 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 交互处理方法及装置 |
CN107170050A (zh) * | 2017-06-05 | 2017-09-15 | 北京寰和通创科技有限公司 | 物联图元的3d场景建立方法及系统 |
Non-Patent Citations (3)
Title |
---|
《WebTorrent Based Fine-grained P2P Transmission of Large-scale WebVR Indoor Scenes》;HuYonghao;《22nd International Conference on 3D Web Technology》;20170607;全文 * |
《WebVR 技术在短期商业会展中的应用研究》;陈伟娜;《现代计算机》;20170731;全文 * |
《基于WebGL的EAST可视化系统》;夏金瑶;《中国博士学位论文全文数据库 工程科技Ⅱ辑》;20170915;摘要、第3章、图3.1-3.2 * |
Also Published As
Publication number | Publication date |
---|---|
CN109861948A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109861948B (zh) | 虚拟现实数据处理方法、装置、存储介质和计算机设备 | |
EP3923248A1 (en) | Image processing method and apparatus, electronic device and computer-readable storage medium | |
CN111641844B (zh) | 直播互动方法、装置、直播系统及电子设备 | |
CN111768479B (zh) | 图像处理方法、装置、计算机设备以及存储介质 | |
CN108833877B (zh) | 图像处理方法及装置、计算机装置及可读存储介质 | |
CN110458924B (zh) | 一种三维脸部模型建立方法、装置和电子设备 | |
CN111142967B (zh) | 一种增强现实显示的方法、装置、电子设备和存储介质 | |
CN115205150A (zh) | 图像的去模糊方法、装置、设备、介质及计算机程序产品 | |
CN113965773A (zh) | 直播展示方法和装置、存储介质及电子设备 | |
CN112162672A (zh) | 信息流的显示处理方法、装置、电子设备及存储介质 | |
US20190295324A1 (en) | Optimized content sharing interaction using a mixed reality environment | |
CN114358112A (zh) | 视频融合方法、计算机程序产品、客户端及存储介质 | |
CN116112761B (zh) | 生成虚拟形象视频的方法及装置、电子设备和存储介质 | |
CN116485983A (zh) | 虚拟对象的纹理生成方法、电子设备以及存储介质 | |
CN113223186B (zh) | 实现增强现实的处理方法、设备、产品和装置 | |
JP7447266B2 (ja) | ボリュメトリック画像データに関するビューの符号化及び復号 | |
EP4002289A1 (en) | Picture processing method and device, storage medium, and electronic apparatus | |
KR20210057925A (ko) | 스트리밍 서버 및 이를 이용한 다시점 동영상에서의 객체 처리 방법 | |
CN111212269A (zh) | 无人机图像显示的方法及装置、电子设备、存储介质 | |
CN113398577B (zh) | 一种线下空间的多人ar互动方法和系统 | |
CN110662099A (zh) | 用于显示弹幕的方法和装置 | |
CN108596825A (zh) | 3d效果显示方法及装置 | |
US11778007B2 (en) | Server, method and user device for providing virtual reality content | |
CN109348132B (zh) | 全景拍摄方法及装置 | |
CN111200754B (zh) | 一种全景视频的播放方法、装置、终端及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |