虚拟现实终端及其场景的处理方法和装置的制造方法

文档序号:10534173阅读:343来源:国知局
虚拟现实终端及其场景的处理方法和装置的制造方法
【专利摘要】本发明实施例提供了一种虚拟现实终端及其场景的处理方法和装置,处理方法包括:获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画;以及将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。与现有技术中对包括粒子动画的所有对象都要进行三维渲染导致的旋绕效率低下相比,本发明实施例中,粒子动画不参与三维渲染,而是通过直接与已渲染的部分场景数据进行合成,从而完成所述场景的渲染,提高了渲染效率,加速了渲染速度。
【专利说明】
虚拟现实终端及其场景的处理方法和装置
技术领域
[0001]本发明实施例涉及虚拟现实技术领域,尤其涉及一种虚拟现实终端及其场景的处理方法和装置。
【背景技术】
[0002]虚拟现实技术是一种计算机仿真系统,在该系统中可以创建和体验虚拟世界。本质上,该系统利用计算机生成一种模拟环境,该模拟环境是一种多源信息融合的交互式的三维动态视景和对实体行为的系统仿真,可以达到沉浸式体验。
[0003]虚拟现实涉及的多源信息包括实时三维计算机图形技术、广角(宽视野)立体显示技术、对观察者头、眼和手的跟踪技术,以及触觉/力觉反馈、立体声、网络传输、语音输入输出技术等。除此之外,还涉及双目立体视觉,双目立体视觉起了较大的作用。在双目立体视觉技术中,两只眼睛看到的不同图像是分别产生的,分别显示在两个不同的显示器上。另夕卜,也有虚拟现实系统采用单个显示器,但带上特殊的眼镜后,一只眼睛只能看到奇数帧图像,另一只眼睛只能看到偶数帧图像,由于奇、偶帧之间不同即存在视差,从而产生了立体感。
[0004]上述虚拟现实技术的实现过程中,需要对所有的对象进行三维场景渲染,而三维场景渲染的对象可能包括二维平面的粒子动画、以及其他要渲染的对象比如模拟影院中的凳子、幕布等。但是,在一些对粒子动画要求并不高的场合,如果继续要对其进行三维渲染,则导致整个渲染的效率较低,渲染的速度较慢等缺陷。

【发明内容】

[0005]本发明实施例的目的在于提供一种虚拟现实终端及其场景的处理方法和装置,用以解决尤其在一些对粒子动画要求并不高的场合如果继续要对其进行三维渲染,则导致整个渲染的效率较低,渲染的速度较慢等缺陷。
[0006]本发明实施例采用的技术方案如下:
[0007]本发明实施例提供一种虚拟现实终端中三维场景的处理方法,其包括:
[0008]获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画;
[0009]将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0010]优选地,在本发明的任一实施例中,获取到要加载到三维场景中的粒子动画之前包括:
[0011]获取要加载到三维场景中的二维图像序列,根据所述二维图像序列生成所述粒子动画。
[0012]优选地,在本发明的任一实施例中,获取所述三维场景包括的已完成渲染的部分场景数据包括:
[0013]获取及所述三维场景包括的已完成渲染的部分三维场景数据。
[0014]优选地,在本发明的任一实施例中,获取所述三维场景包括的已完成渲染的三维场景数据包括:
[0015]获取所述三维场景包括的已完成渲染的三维场景模型数据、场景效果数据中任意一种或者两种的组合。
[0016]优选地,在本发明的任一实施例中,将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染包括:
[0017]通过图形程序接口或者数据拷贝或交换缓冲区将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0018]优选地,在本发明的任一实施例中,通过图形程序接口将所述粒子动画合成到所述已完成渲染的部分场景数据上包括:通过图形程序接口的帧缓存对象将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0019]优选地,在本发明的任一实施例中,将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染包括:
[0020]将所述已完成渲染的部分场景数据与所述粒子动画转换到同一坐标平面内,在所述同一坐标面内进行所述粒子动画与所述已完成渲染的部分场景数据的合成。
[0021]本发明实施例提供一种虚拟现实终端中三维场景的处理装置,其包括:
[0022]获取单元,用于获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画;
[0023]合成单元,用于将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0024]优选地,在本发明的任一实施例中,还包括:粒子动画生成单元,用于获取要加载到三维场景中的二维图像序列,根据所述二维图像序列生成所述粒子动画。
[0025]优选地,在本发明的任一实施例中,所述获取单元进一步用于获取所述三维场景包括的已完成渲染的部分三维场景数据。
[0026]优选地,在本发明的任一实施例中,所述获取单元进一步用于获取所述三维场景包括的已完成渲染的三维场景模型数据、场景效果数据中任意一种或者两种的组合。
[0027]优选地,在本发明的任一实施例中,所述加载单元进一步用于通过图形程序接口或者数据拷贝或交换缓冲区将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0028]优选地,在本发明的任一实施例中,所述加载单元进一步用于通过图形程序接口的帧缓存对象将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的清染。
[0029]优选地,在本发明的任一实施例中,还包括坐标转换单元,用于将所述已完成渲染的部分场景数据与所述粒子动画转换到同一坐标平面内,在所述同一坐标面内进行所述粒子动画与所述已完成渲染的部分场景数据的合成。
[0030]本发明实施例提供一种虚拟现实终端,其包括硬件处理器,所述硬件处理器用于执行如下步骤:
[0031]获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画;
[0032]将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0033]本发明实施例的技术方案具有以下优点:
[0034]通过获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画;再将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染,与现有技术中对包括粒子动画的所有对象都要进行三维渲染导致的旋绕效率低下相比,本发明实施例中,粒子动画不参与三维渲染,而是通过直接与已渲染的部分场景数据进行合成,从而完成所述场景的渲染,提高了渲染效率,加速了渲染速度。
【附图说明】
[0035]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1为本发明实施例一虚拟现实终端中三维场景的处理方法流程示意图;
[0037]图2为本发明实施例二虚拟现实终端中三维场景的处理方法流程示意图;
[0038]图3为本发明实施例三虚拟现实终端中三维场景的处理装置结构示意图;
[0039]图4为本发明实施例四虚拟现实终端中三维场景的处理装置结构示意图;
[0040]图5为本发明实施例五虚拟现实终端的结构示意图。
【具体实施方式】
[0041]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042]本发明下述实施例中,通过获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画;再将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染,与现有技术中对包括粒子动画的所有对象都要进行三维渲染导致的旋绕效率低下相比,本发明实施例中,粒子动画不参与三维渲染,而是通过直接与已渲染的部分场景数据进行合成,从而完成所述场景的渲染,提高了渲染效率,加速了渲染速度。
[0043]图1为本发明实施例一虚拟现实终端中三维场景的处理方法流程示意图;如图1所示,本实施例中的处理方法包括:
[0044]SlOl、获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画;
[0045]本实施例中,粒子动画包括动画场景中单个独立的零散物体在动作变化,如大风场景下的漫天沙石、秋风落叶等。粒子动画可以衬托背景环境,比如在电影中反映剧情氛围。粒子动画生成过程可以通过传统的手绘动画,逐个绘制零散物体,然后给出其飞舞或飘落的路线,最后由动画人员逐帧绘制完成动画效果。具体地,本实施例中,粒子动画可以基于3ds max中的Particle Flow粒子流系统制作,Particle Flow粒子流系统用于创建各种复杂的粒子图像动画。制作粒子动画的过程可以包括:首先对扫描或拍摄的数字原画稿中的零散物体通过细化算法进行处理,将零散物体的栅格线条从多像素宽度减少到单位像素宽度,并为自动提取提供初始数据;采用自动跟踪矢量化技术,从栅格图像上提取零散物体的轮廓线条;通过对零散物体矢量轮廓数据的节点抽稀,并拟合轮廓曲线;利用随机函数,随机确定其运动路线,并根据零散物体的重量确定其运动速度,从而进行内插得到中间动画帧,以完成粒子动画的制作。
[0046]本实施例中,在步骤SlOl中获取要加载到三维场景中的粒子动画之前还可以包括:获取要加载到三维场景中的二维图像序列,根据所述二维图像序列生成所述粒子动画。
[0047]本实施例中,获取要加载到三维场景中的粒子动画还可以是粒子文字动画,粒子文字动画参照上述粒子视频动画的方式生成,详细不再赘述。
[0048]S102、将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的清染。
[0049]本实施例中,S102中将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染时包括:通过图形程序接口将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。进一步地,通过图形程序接口的帧缓存对象将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0050]本实施例中,图形程序接口具体使用0penGL(0pen Graphics Library),其是一个功能强大,调用方便的底层图形库,从而可以将粒子动画合成已完成渲染的部分场景数据上。在其他实施例中,也可以有Open Inventor、Cosmo3D、Optimizer等图像程序接口,详细不再赘述。
[0051 ]本实施例中,具体地,如果采用OpenGL进行合成处理,由于OpenGL中帧缓存对象FBO (Frame Buffer 0bj ect,简称FBO)中的可以清染到纹理,实现发光效果、环境映射、阴影映射等处理,因此,可以利用OpenGL中帧缓存对象FB0(Frame Buffer Object,简称FB0)进行将所述粒子动画合成到所述已完成渲染的部分场景数据。
[0052]其他实施例中,也可以数据拷贝或交换缓冲区将所述粒子动画合成到所述已完成渲染的部分场景数据。
[0053]图2为本发明实施例二虚拟现实终端中三维场景的处理方法流程示意图;如图2所示,本实施例中的处理方法包括:
[0054]S201、获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分三维场景数据,所述已完成渲染的部分三维场景不包括所述粒子动画;
[0055]本实施例中,所述粒子动画可以包括粒子视频动画,也可以包括粒子文字动画,这两种类似的粒子动画生成过程类似上述图1的相关记载,比如为形成的一系列二维图像序列。基于3ds max中的Particle Flow粒子流系统制作,Particle Flow粒子流系统用于创建各种复杂的粒子图像动画。制作粒子动画的过程可以包括:对扫描或拍摄的数字原画稿中的零散物体通过细化算法进行处理,将零散物体的栅格线条从多像素宽度减少到单位像素宽度,并为自动提取提供初始数据;采用自动跟踪矢量化技术,从栅格图像上提取零散物体的轮廓线条;通过对零散物体矢量轮廓数据的节点抽稀,并拟合轮廓曲线;利用随机函数,随机确定其运动路线,并根据零散物体的重量确定其运动速度,从而进行内插得到中间动画帧,以完成粒子动画的制作。
[0056]本实施例中,步骤S201中获取要所述三维场景包括的已完成渲染的部分三维场景数据时可以获取所述三维场景包括的已完成渲染的三维场景模型数据、场景效果数据中任意一种或者两种的组合。比如,如果是影院模型,则三维场景模型可以包括场景中的各种对象,比如凳子、幕布、阶梯、灯光设备等等,而场景效果数据可以包括场景中的灯光亮度等。
[0057]S202、将所述已完成渲染的部分三维场景数据与所述粒子动画转换到同一坐标平面内,在所述同一坐标面内进行所述粒子动画与所述已完成渲染的部分三维场景数据的合成。
[0058]本实施例中,可以将三维场景数据转换到二维平面中,在二维平面中,与粒子动画进行合成;也可以将粒子动画从二维平面中转换到三维场景数据所在的坐标空间中,在三维场景数据所在的坐标空间中与粒子动画进行合成。
[0059]优选地,本实施例中,如果基于OpenGL中的帧缓存对象FB0(Frame BufferObject,简称FB0)则将三维场景数据转换到二维平面中,在二维平面中,与粒子动画进行合成。
[0060]图3为本发明实施例三虚拟现实终端中三维场景的处理装置结构示意图;如图3所示,其包括:相互耦接的获取单元301以及合成单元302,其中:
[0061]获取单元301,用于获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画;
[0062]合成单元302,用于将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0063]另外一实施例中,在本实施例中的基础上,还可以包括粒子动画生成单元,用于获取要加载到三维场景中的二维图像序列,根据所述二维图像序列生成所述粒子动画。已完成渲染的部分场景可以是已完成渲染的部分三维场景数据,包括已完成渲染的部分三维场景模型数据、场景效果数据中任意一种或者两种的组合。
[0064]本实施例中,所述加载单元进一步用于通过图形程序接口或者数据拷贝或交换缓冲区将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。当通过图形程序接口进行合成时,所述加载单元具体用于通过图形程序接口的帧缓存对象将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0065]详细的技术解释可参见上述图1、图2的相关记载,在此不再赘述。
[0066]图4为本发明实施例四虚拟现实终端中三维场景的处理装置结构示意图;如图4所示,与上述图3实施例相同的是,本实施例中仍然包括:相互耦接的获取单元301以及合成单元302,获取单元301以及合成单元302的相关记载请参见图3的记载。与上述图3不同的是,本实施例中,还包括坐标转换单元303,用于将所述已完成渲染的部分场景数据与所述粒子动画转换到同一坐标平面内,在所述同一坐标面内进行所述粒子动画到所述已完成渲染的部分场景数据的合成。
[0067]有关坐标转化的相关记载可参见上述图2的相关记载,在此不再赘述。
[0068]图5为本发明实施例五虚拟现实终端的结构示意图;如图5所示,虚拟现实终端500包括硬件处理器501,所述硬件处理器用于执行如下步骤:
[0069]获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画;
[0070]将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0071]本实施例或其他任一实施例中,所述硬件处理器进一步用于获取要加载到三维场景中的二维图像序列,根据所述二维图像序列生成所述粒子动画。
[0072]本实施例或其他任一实施例中,所述硬件处理器进一步用于获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的三维场景数据。
[0073]本实施例或其他任一实施例中,所述硬件处理器进一步用于获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分三维场景模型数据、场景效果数据中任意一种或者两种的组合。
[0074]本实施例或其他任一实施例中,所述硬件处理器进一步用于通过图形程序接口或者数据拷贝或交换缓冲区将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0075]本实施例或其他任一实施例中,所述硬件处理器进一步用于通过图形程序接口的帧缓存对象将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
[0076]本实施例或其他任一实施例中,所述硬件处理器进一步用于将所述已完成渲染的部分场景数据与所述粒子动画转换到同一坐标平面内,在所述同一坐标面内进行所述粒子动画与所述已完成渲染的部分场景数据的合成。
[0077]上述实施例中,虚拟现实终端可以是虚拟现实头盔,也可以为虚拟现实眼镜,虚拟现实终端可以包括两个显示器,也可以只包括一个显示器。
[0078]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0079]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0080]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种虚拟现实终端中三维场景的处理方法,其特征在于,包括: 获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画; 将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。2.根据要求I所述的处理方法,其特征在于,获取到要加载到三维场景中的粒子动画之前包括: 获取要加载到三维场景中的二维图像序列,根据所述二维图像序列生成所述粒子动画。3.根据权利要求1所述的处理方法,其特征在于,获取所述三维场景包括的已完成渲染的部分场景数据包括: 获取所述三维场景包括的已完成渲染的部分三维场景数据。4.根据权利要求3所述的处理方法,其特征在于,获取所述三维场景包括的已完成渲染的部分三维场景数据包括: 获取所述三维场景包括的已完成渲染的部分三维场景模型数据、场景效果数据中任意一种或者两种的组合。5.根据权利要求1所述的处理方法,其特征在于,将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染包括: 通过图形程序接口或者数据拷贝或交换缓冲区将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。6.根据权利要求5所述的处理方法,其特征在于,通过图形程序接口将所述粒子动画合成到所述已完成渲染的部分场景数据上包括:通过图形程序接口的帧缓存对象将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。7.根据权利要求1-6所述的处理方法,其特征在于,将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染包括: 将所述已完成渲染的部分场景数据与所述粒子动画转换到同一坐标平面内,在所述同一坐标面内进行所述粒子动画与所述已完成渲染的部分场景数据的合成。8.一种虚拟现实终端中三维场景的处理装置,其特征在于,包括: 获取单元,用于获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画; 合成单元,用于将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的清染。9.根据权利要求8所述的处理装置,其特征在于,还包括:粒子动画生成单元,用于获取要加载到三维场景中的二维图像序列,根据所述二维图像序列生成所述粒子动画。10.根据权利要求8所述的处理装置,其特征在于,所述获取单元进一步用于获取所述三维场景包括的已完成渲染的部分三维场景数据。11.根据权利要求10所述的处理装置,其特征在于,所述获取单元进一步用于获取所述三维场景包括的已完成渲染的部分三维场景模型数据、场景效果数据中任意一种或者两种的组合。12.根据权利要求8所述的处理装置,其特征在于,所述加载单元进一步用于通过图形程序接口或者数据拷贝或交换缓冲区将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。13.根据权利要求12所述的处理装置,其特征在于,所述加载单元进一步用于通过图形程序接口的帧缓存对象将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。14.根据权利要求8-13所述的处理装置,其特征在于,还包括坐标转换单元,用于将所述已完成渲染的部分场景数据与所述粒子动画转换到同一坐标平面内,在所述同一坐标面内进行所述粒子动画与所述已完成渲染的部分场景数据的合成。15.一种虚拟现实终端,其特征在于,包括硬件处理器,所述硬件处理器用于执行如下步骤: 获取要加载到三维场景中的粒子动画以及所述三维场景包括的已完成渲染的部分场景数据,所述已完成渲染的部分场景不包括所述粒子动画; 将所述粒子动画合成到所述已完成渲染的部分场景数据上,以完成所述三维场景的渲染。
【文档编号】G06F3/01GK105892681SQ201610280154
【公开日】2016年8月24日
【申请日】2016年4月29日
【发明人】许小飞
【申请人】乐视控股(北京)有限公司, 乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1