在移动终端上生成虚拟对象的方法及装置的制造方法

文档序号:10534504阅读:413来源:国知局
在移动终端上生成虚拟对象的方法及装置的制造方法
【专利摘要】本发明提供了一种在移动终端上生成虚拟对象的方法及装置。该方法包括:调用模型加载函数,利用所述模型加载函数加载用于生成虚拟对象的模型文件;从所述模型文件中解析出模型以及所述模型的动画参数;根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象。本发明实施例能够根据模型的动画参数渲染生成对应的虚拟对象,实现了生成的虚拟对象的动态化,提高了趣味性和交互性。
【专利说明】
在移动终端上生成虚拟对象的方法及装置
技术领域
[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]根据所述模型的运动路径以及每帧动画的时长,对所述模型的每帧动画进行渲染,以生成对应的虚拟对象。
[0037]可选地,所述模型由多条线段构成,所述模型的动画参数包括所述模型中线段的运动路径以及每帧动画的时长,所述模型渲染模块还适于:
[0038]根据所述模型中线段的运动路径以及每帧动画的时长,对所述模型的每帧动画进行渲染,以生成对应的虚拟对象。
[0039]可选地,所述模型的动画参数包括所述模型的每帧动画的纹理,所述模型渲染模块还适于:
[0040]获取所述模型的当前帧动画的纹理,并根据所述模型的当前帧动画的纹理对所述模型的当前帧动画进行渲染;
[0041]获取所述模型的下一帧动画的纹理,并根据所述模型的下一帧动画的纹理对所述模型的下一帧动画进行渲染,直至渲染完成所有帧动画。
[0042]可选地,所述模型的动画参数包括循环渲染所述模型的次数,所述模型渲染模块还适于:
[0043]根据循环渲染所述模型的次数,循环渲染所述模型生成对应的虚拟对象。
[0044]可选地,所述装置还包括:
[0045]播放模块,适于在所述模型渲染模块根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象之后,在所述移动终端的显示界面上播放所述虚拟对象。
[0046]可选地,所述播放模块还适于:
[0047]预设播放时间区间;
[0048]根据所述播放时间区间,在所述移动终端的显示界面上播放所述虚拟对象。
[0049]可选地,所述播放时间区间设置有空闲时间区间和非空闲时间区间,所述播放模块还适于:
[0050]当处于所述空闲时间区间时,在所述移动终端的显示界面上播放所述虚拟对象;
[0051]当处于所述非空闲时间区间时,在所述移动终端的显示界面上暂停所述虚拟对象。
[0052]在本发明实施例中,可以在移动终端上生成用户个性化需求的虚拟对象,即首先调用模型加载函数,利用该模型加载函数加载用于生成虚拟对象的模型文件,随后从模型文件中解析出模型以及该模型的动画参数,之后根据该模型的动画参数,将该模型渲染生成对应的虚拟对象。本发明实施例能够根据模型的动画参数渲染生成对应的虚拟对象,实现了生成的虚拟对象的动态化,提高了趣味性和交互性。
[0053]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0054]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
【附图说明】
[0055]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0056]图1示出了根据本发明一实施例的在移动终端上生成虚拟对象的方法的流程图;
[0057]图2示出了根据本发明另一实施例的在移动终端上生成虚拟对象的方法的流程图;
[0058]图3示出了根据本发明一个实施例的在移动终端上生成虚拟对象的装置的结构示意图;以及
[0059]图4示出了根据本发明另一个实施例的在移动终端上生成虚拟对象的装置的结构示意图。
【具体实施方式】
[0060]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0061]为解决上述技术问题,本发明实施例提供了一种在移动终端上生成虚拟对象的方法,该移动终端可以是智能手机、平板电脑、智能手表等终端设备。图1示出了根据本发明一实施例的在移动终端上生成虚拟对象的方法的流程图。如图1所示,该方法至少可以包括以下步骤S102至步骤S106:
[0062]步骤S102,调用模型加载函数,利用该模型加载函数加载用于生成虚拟对象的模型文件;
[0063]步骤S104,从模型文件中解析出模型以及该模型的动画参数;
[0064]步骤S106,根据该模型的动画参数,将该模型渲染生成对应的虚拟对象。
[0065]在本发明实施例中,可以在移动终端上生成用户个性化需求的虚拟对象,即首先调用模型加载函数,利用该模型加载函数加载用于生成虚拟对象的模型文件,随后从模型文件中解析出模型以及该模型的动画参数,之后根据该模型的动画参数,将该模型渲染生成对应的虚拟对象。本发明实施例能够根据模型的动画参数渲染生成对应的虚拟对象,实现了生成的虚拟对象的动态化,提高了趣味性和交互性。
[0066]步骤S102中提及的模型文件包含多种不同的文件格式,如obj、fbx、dae等文件格式,其中,obj文件格式可以支持直线、多边形、表面和自由形态曲线,直线和多边形通过它们的点来描述,曲线和表面则根据它们的控制点和依附于曲线类型的额外信息来定义,这些信息支持规则和不规则的曲线,包括那些基于贝塞尔曲线、B样条、基数和泰勒方程的曲线。
[0067]在步骤S104中,从模型文件中解析出的模型可以是二维模型或三维模型,本发明对此不作限制。进一步,从模型文件中解析出的模型的动画参数不同时,步骤S106中根据该模型的动画参数对模型进行渲染的方式也有所不同,下面将进行详细地介绍。
[0068]情况一,支持路径动画。路径动画是指模型按照设定的路径来运动,也就是说,模型的动画参数包括该模型的运动路径以及每帧动画的时长。此时,步骤S106可选地实施为根据该模型的运动路径以及每帧动画的时长,对该模型的每帧动画进行渲染,以生成对应的虚拟对象。例如,二维模型“圆”按照设定的路径来运动,根据该设定的路径对该“圆”进行渲染。又例如,三维模型“地球”绕着轴进行自转,可以按照每帧动画的时长对该“地球”进行渲染,生成自转的虚拟地球。
[0069]情况二,支持骨骼动画。骨骼动画是使用“骨头”的运动来实现模型的动画。每个顶点被附着到一根骨头(或者多根骨头),一根骨头只是一组顶点的一个控制点。这些概念类似于人体的关节,例如人体的膝关节或腕关节等。当骨头运动时,每个附着在它上的顶点也跟着运动。也就是说,当模型由多根“骨头”或多条线段构成时,模型的动画参数包括该模型中线段的运动路径以及每帧动画的时长。此时,步骤S106可选地实施为根据该模型中线段的运动路径以及每帧动画的时长,对该模型的每帧动画进行渲染,以生成对应的虚拟对象。例如,从模型文件中解析出人体的模型,基于骨骼动画对该人体模型进行渲染,可以生成“会跳舞的姑娘”的虚拟对象。这里的模型可以由多组顶点以及三角面构成。
[0070]在本发明一实施例中,虚拟对象的表面上还可以映射不同的材质来实现定向光照效果,例如Lambert材质,Lambert不包括任何镜面属性,对粗糙物体来说,这项属性是非常有用的,它不会反射出周围的环境。Lambert材质可以是透明的,在光线追踪渲染中发生折射,但是如果没有镜面属性,该类型就不会发生折射。平坦的磨光效果可以用于砖或混凝土表面。它多用于不光滑的表面,是一种自然材质,常用来表现自然界的物体材质,如木头、岩石等。
[0071]进一步,在本发明一实施例中,还可以在虚拟对象的表面增加纹理,S卩,模型的动画参数包括该模型的每帧动画的纹理,此时,步骤S106可选地实施为获取该模型的当前帧动画的纹理,并根据该模型的当前帧动画的纹理对该模型的当前帧动画进行渲染,随后,获取该模型的下一帧动画的纹理,并根据该模型的下一帧动画的纹理对该模型的下一帧动画进行渲染,直至渲染完成所有帧动画。
[0072]在步骤S106对模型进行渲染的过程中可以通过增加光源的方式来增强展示效果,可以获取预设的视角参数和灯光参数,进而根据预设的视角参数和灯光参数,在模型上增加光源。在实际应用中,灯光参数还可以包括环境灯光参数和主灯光参数,通过视角参数、环境灯光参数以及主灯光参数的变化使得虚拟对象的展示效果更加丰富。
[0073]在本发明另一实施例中,模型的动画参数还可以包括循环渲染该模型的次数,此时,步骤S106可选地实施为根据循环渲染该模型的次数,循环渲染该模型生成对应的虚拟对象。例如,模型中是有动作的,跑步的动作,跑步是0.5秒的周期,需要让用户看起来是不停地在跑,那就需要重复这个0.5秒,它再点一下让它变动时,就切换到另外那个动作,再重复那个动作。又例如,模型为地球,且地球在不停地自转,此时,可以设定自转的周期,如5秒,为了让用户看起来地球是不停地在自转,则可以在渲染时不断地重复自转的周期5秒。在实际应用中,可以设定默认状态下根据动画时间循环的渲染整个模型动画,也可以根据实际需求设定选项播放一次或多次。
[0074]在本发明一实施例中,可以设置idle(空闲)状态,根据该状态进行步骤S106的模型渲染。即,在空闲时间渲染模型,假设用户的活动为非idle状态,用户指定了渲染模型的时间区间为1.01-2.0,并且只渲染一次,那么在完成用户这项活动后,就处于空闲时间,此时就可以渲染idle时间的模型,这段时间内的模型状态即为idle状态。
[0075]在步骤S106根据该模型的动画参数将该模型渲染生成对应的虚拟对象之后,还可以在移动终端的显示界面上播放虚拟对象。进一步,本发明实施例可以预设播放时间区间,根据该预设的播放时间区间,在移动终端的显示界面上播放虚拟对象。
[0076]在本发明一实施例中,播放时间区间设置有空闲时间区间和非空闲时间区间。当处于空闲时间区间时,在移动终端的显示界面上播放虚拟对象,当处于非空闲时间区间时,在移动终端的显示界面上暂停虚拟对象。
[0077]在本发明的另一实施例中,在生成虚拟对象之后,可以将虚拟对象与现实场景画面进行融合,在移动终端的显示界面上展示融合后的虚拟场景。进一步,在移动终端的显示界面上展示融合后的虚拟场景之后,用户还可以与融合后的虚拟场景中的虚拟对象进行交互,即,当接收到用户针对融合后的虚拟场景中的虚拟对象触发的除指定操作以外的其他操作时,响应其他操作针对虚拟对象执行相应的操作,得到操作后的虚拟对象。随后,将操作后的虚拟对象与场景画面进行融合,并展示。这里的其他操作可以是放大、缩小、位移、旋转等操作,本发明实施例对此不做限制。
[0078]下面通过一具体实施例来详细介绍本发明的在移动终端上生成虚拟对象的方法的实现过程。在该实施例中,各个函数的接口及描述如下:
[0079](l)bool Import3DFromFiIe(const std:: string&pFile=,bool bEncrypt =false)
[0080]根据给定的模型文件路径,以及是否加密的参数加载模型;
[0081](2)bool UpdateO
[0082]更新当前帧的动画时间;
[0083](3)void SetAnimParam(float startTime,float endTime,AnimType playType=AnimTyp e_L00P)
[0084]设置非idle状态要渲染的动画时间的区间;
[0085](4)void SetIdleTime(float startTime,float endTime)
[0086]设置idle状态要渲染的动画时间的区间;
[0087](5)int DrawGLSceneO
[0088]渲染模型的当前帧;
[0089](6)void setTextureFiles(std::vector<std::string>&files)
[0090]设置模型可换纹理路径。
[0091 ]假设在目录/var/mobi le/Containers/Bundle/Applicat1n/051CC79D_317E-450C-87B7-FB6CBBD487BB/test.app下有一个名为1.dae的模型文件。设定路径字符串pFile= Vvar/mobiIe/Containers/BundIe/AppIi cat1n/051CC79D-317E-450C-87B7-FB6CBBD487BB/test.app/1.dae”。
[0092]图2示出了根据本发明另一实施例的在移动终端上生成虚拟对象的方法的流程图。如图2所示,该方法至少可以包括以下步骤S202至步骤S208。
[0093]步骤S202,调用模型加载函数,利用该模型加载函数加载用于生成虚拟对象的模型文件。
[0094]在该步骤中,若模型加密,则调用函数Import3DFromFile(pFile,true);若模型未加密,则直接调用Import3DFromF ile(pFile)来加载模型文件。
[0095]步骤S204,从模型文件中解析出模型以及该模型的运动路径、每帧动画的时长以及每帧动画的纹理。
[0096]在该步骤中,若步骤S202返回true则表明模型加载成功,若未返回true则表明模型未加载成功,则需要返回步骤S202重新进行加载。
[0097]步骤S206,获取该模型的当前帧动画的时长和当前帧动画的纹理,并根据该模型的运动路径、当前帧动画的时长以及当前帧动画的纹理对该模型的当前帧动画进行渲染。
[0098]步骤S208,获取该模型的下一帧动画的时长和下一帧动画的纹理,并根据该模型的运动路径、下一帧动画的时长以及下一帧动画的纹理对该模型的下一帧动画进行渲染,直至渲染完成所有帧动画,生成对应的虚拟对象。
[0099]在步骤S206和步骤S208中,可以调用DrawGLScene ()函数渲染模型的当前帧,在默认状态下可以根据动画时长循环的渲染整个模型动画;也可以设置idle状态的时间区间和非idle状态的时间区间。例如,要将一个模型动画分成两段时间区间,分别为0-1.0、1.01-2.0,将时间区间0-1.0的动画设为1(116状态播放,调用函数36?(116111^(0,1.0);将时间区间1.01-2.0的动画设为非i dI e状态播放,若要循环播放该段动画则调用函数Se tAnimParam(1.01,2.0, AnimType_L00P),若只播放一次则调用SetAnimParam( 1.01,2.0 , AnimType_ONCE)ο
[0100]在步骤S206和步骤S208中,所渲染的模型有切换纹理的需求,例如,有两张纹理图分别为I 1.j P g和2 2.j P g,将两张图的路径字符串存放在f i I e S中,调用函数setTextureFi Ies (files)后下一帧动画的清染将采用新纹理。
[0101]基于上文各个实施例提供的在移动终端上生成虚拟对象的方法,基于同一发明构思,本发明实施例还提供了一种在移动终端上生成虚拟对象的装置。
[0102]图3示出了根据本发明一个实施例的在移动终端上生成虚拟对象的装置的结构示意图。如图3所示,该装置至少可以包括模型文件加载模块310、模型文件解析模块320以及模型渲染模块330。
[0103]现介绍本发明实施例的在移动终端上生成虚拟对象的装置的各组成或器件的功能以及各部分间的连接关系:
[0104]模型文件加载模块310,适于调用模型加载函数,利用所述模型加载函数加载用于生成虚拟对象的模型文件;
[0105]模型文件解析模块320,与模型文件加载模块310相耦合,适于从所述模型文件中解析出模型以及所述模型的动画参数;
[0106]模型渲染模块330,与模型文件解析模块320相耦合,适于根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象。
[0107]本发明实施例提及的模型文件包含多种不同的文件格式,如obj、fbx、dae等文件格式,其中,obj文件格式可以支持直线、多边形、表面和自由形态曲线,直线和多边形通过它们的点来描述,曲线和表面则根据它们的控制点和依附于曲线类型的额外信息来定义,这些信息支持规则和不规则的曲线,包括那些基于贝塞尔曲线、B样条、基数和泰勒方程的曲线。
[0108]在本发明一实施例中,模型文件解析模块320从模型文件中解析出的模型可以是二维模型或三维模型,本发明对此不作限制。进一步,从模型文件中解析出的模型的动画参数不同时,模型渲染模块330根据该模型的动画参数对模型进行渲染的方式也有所不同,下面将进行详细地介绍。
[0109]情况一,支持路径动画。路径动画是指模型按照设定的路径来运动,也就是说,模型的动画参数包括该模型的运动路径以及每帧动画的时长。此时,模型渲染模块330根据该模型的运动路径以及每帧动画的时长,对该模型的每帧动画进行渲染,以生成对应的虚拟对象。例如,二维模型“圆”按照设定的路径来运动,根据该设定的路径对该“圆”进行渲染。又例如,三维模型“地球”绕着轴进行自转,可以按照每帧动画的时长对该“地球”进行渲染,生成自转的虚拟地球。
[0110]情况二,支持骨骼动画。骨骼动画是使用“骨头”的运动来实现模型的动画。每个顶点被附着到一根骨头(或者多根骨头),一根骨头只是一组顶点的一个控制点。这些概念类似于人体的关节,例如人体的膝关节或腕关节等。当骨头运动时,每个附着在它上的顶点也跟着运动。也就是说,当模型由多根“骨头”或多条线段构成时,模型的动画参数包括该模型中线段的运动路径以及每帧动画的时长。此时,模型渲染模块330根据该模型中线段的运动路径以及每帧动画的时长,对该模型的每帧动画进行渲染,以生成对应的虚拟对象。例如,从模型文件中解析出人体的模型,基于骨骼动画对该人体模型进行渲染,可以生成“会跳舞的姑娘”的虚拟对象。这里的模型可以由多组顶点以及三角面构成。
[0111]在本发明一实施例中,虚拟对象的表面上还可以映射不同的材质来实现定向光照效果,例如Lambert材质,Lambert不包括任何镜面属性,对粗糙物体来说,这项属性是非常有用的,它不会反射出周围的环境。Lambert材质可以是透明的,在光线追踪渲染中发生折射,但是如果没有镜面属性,该类型就不会发生折射。平坦的磨光效果可以用于砖或混凝土表面。它多用于不光滑的表面,是一种自然材质,常用来表现自然界的物体材质,如木头、岩石等。
[0112]进一步,在本发明一实施例中,还可以在虚拟对象的表面增加纹理,S卩,模型的动画参数包括该模型的每帧动画的纹理,此时,模型渲染模块330获取该模型的当前帧动画的纹理,并根据该模型的当前帧动画的纹理对该模型的当前帧动画进行渲染,随后,获取该模型的下一帧动画的纹理,并根据该模型的下一帧动画的纹理对该模型的下一帧动画进行渲染,直至渲染完成所有帧动画。
[0113]在模型渲染模块330对模型进行渲染的过程中可以通过增加光源的方式来增强展示效果,可以获取预设的视角参数和灯光参数,进而根据预设的视角参数和灯光参数,在模型上增加光源。在实际应用中,灯光参数还可以包括环境灯光参数和主灯光参数,通过视角参数、环境灯光参数以及主灯光参数的变化使得虚拟对象的展示效果更加丰富。
[0114]在本发明另一实施例中,模型的动画参数还可以包括循环渲染该模型的次数,此时,模型渲染模块330根据循环渲染该模型的次数,循环渲染该模型生成对应的虚拟对象。例如,模型中是有动作的,跑步的动作,跑步是0.5秒的周期,需要让用户看起来是不停地在跑,那就需要重复这个0.5秒,它再点一下让它变动时,就切换到另外那个动作,再重复那个动作。又例如,模型为地球,且地球在不停地自转,此时,可以设定自转的周期,如5秒,为了让用户看起来地球是不停地在自转,则可以在渲染时不断地重复自转的周期5秒。在实际应用中,可以设定默认状态下根据动画时间循环的渲染整个模型动画,也可以根据实际需求设定选项播放一次或多次。
[0115]在本发明一实施例中,可以设置idle(空闲)状态,根据该状态进行模型渲染。即,在空闲时间渲染模型,假设用户的活动为非idle状态,用户指定了渲染模型的时间区间为1.01-2.0,并且只渲染一次,那么在完成用户这项活动后,就处于空闲时间,此时就可以渲染idle时间的模型,这段时间内的模型状态即为idle状态。
[0116]在本发明一实施例中,如图4所示,图3展示的装置还可以包括播放模块340,与模型渲染模块330相耦合,适于在模型渲染模块330根据该模型的动画参数将该模型渲染生成对应的虚拟对象之后,在移动终端的显示界面上播放虚拟对象。进一步,本发明实施例可以预设播放时间区间,根据该预设的播放时间区间,在移动终端的显示界面上播放虚拟对象。
[0117]在本发明一实施例中,播放时间区间设置有空闲时间区间和非空闲时间区间。当处于空闲时间区间时,在移动终端的显示界面上播放虚拟对象,当处于非空闲时间区间时,在移动终端的显示界面上暂停虚拟对象。
[0118]在本发明的另一实施例中,在生成虚拟对象之后,可以将虚拟对象与现实场景画面进行融合,在移动终端的显示界面上展示融合后的虚拟场景。进一步,在移动终端的显示界面上展示融合后的虚拟场景之后,用户还可以与融合后的虚拟场景中的虚拟对象进行交互,即,当接收到用户针对融合后的虚拟场景中的虚拟对象触发的除指定操作以外的其他操作时,响应其他操作针对虚拟对象执行相应的操作,得到操作后的虚拟对象。随后,将操作后的虚拟对象与场景画面进行融合,并展示。这里的其他操作可以是放大、缩小、位移、旋转等操作,本发明实施例对此不做限制。
[0119]根据上述任意一个优选实施例或多个优选实施例的组合,本发明实施例能够达到如下有益效果:
[0120]在本发明实施例中,可以在移动终端上生成用户个性化需求的虚拟对象,即首先调用模型加载函数,利用该模型加载函数加载用于生成虚拟对象的模型文件,随后从模型文件中解析出模型以及该模型的动画参数,之后根据该模型的动画参数,将该模型渲染生成对应的虚拟对象。本发明实施例能够根据模型的动画参数渲染生成对应的虚拟对象,实现了生成的虚拟对象的动态化,提高了趣味性和交互性。
[0121]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0122]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0123]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0124]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0125]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的在移动终端上生成虚拟对象的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0126]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0127]至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
[0128]本发明实施例的一方面公开了Al、一种在移动终端上生成虚拟对象的方法,包括:
[0129]调用模型加载函数,利用所述模型加载函数加载用于生成虚拟对象的模型文件;
[0130]从所述模型文件中解析出模型以及所述模型的动画参数;
[0131]根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象。
[0132]A2、根据Al所述的方法,其中,
[0133]所述模型的动画参数包括所述模型的运动路径以及每帧动画的时长;
[0134]根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象,包括:
[0135]根据所述模型的运动路径以及每帧动画的时长,对所述模型的每帧动画进行渲染,以生成对应的虚拟对象。
[0136]A3、根据Al所述的方法,其中,
[0137]所述模型由多条线段构成,所述模型的动画参数包括所述模型中线段的运动路径以及每帧动画的时长;
[0138]根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象,包括:
[0139]根据所述模型中线段的运动路径以及每帧动画的时长,对所述模型的每帧动画进行渲染,以生成对应的虚拟对象。
[0140]A4、根据Al所述的方法,其中,
[0141]所述模型的动画参数包括所述模型的每帧动画的纹理;
[0142]根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象,包括:
[0143]获取所述模型的当前帧动画的纹理,并根据所述模型的当前帧动画的纹理对所述模型的当前帧动画进行渲染;
[0144]获取所述模型的下一帧动画的纹理,并根据所述模型的下一帧动画的纹理对所述模型的下一帧动画进行渲染,直至渲染完成所有帧动画。
[ΟΙ45] A5、根据A1-A4任一项所述的方法,其中,
[0146]所述模型的动画参数包括循环渲染所述模型的次数;
[0147]根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象,包括:
[0148]根据循环渲染所述模型的次数,循环渲染所述模型生成对应的虚拟对象。
[0149]A6、根据A1-A5任一项所述的方法,其中,根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象之后,还包括:
[0150]在所述移动终端的显示界面上播放所述虚拟对象。
[0151]A7、根据A6所述的方法,其中,在所述移动终端的显示界面上播放所述虚拟对象,包括:
[0152]预设播放时间区间;
[0153]根据所述播放时间区间,在所述移动终端的显示界面上播放所述虚拟对象。
[0154]AS、根据A7所述的方法,其中,
[0155]所述播放时间区间设置有空闲时间区间和非空闲时间区间;
[0156]根据所述播放时间区间,在所述移动终端的显示界面上播放所述虚拟对象,包括:
[0157]当处于所述空闲时间区间时,在所述移动终端的显示界面上播放所述虚拟对象;
[0158]当处于所述非空闲时间区间时,在所述移动终端的显示界面上暂停所述虚拟对象。
[0159]本发明实施例的另一方面还公开了B9、一种在移动终端上生成虚拟对象的装置,包括:
[0160]模型文件加载模块,适于调用模型加载函数,利用所述模型加载函数加载用于生成虚拟对象的模型文件;
[0161]模型文件解析模块,适于从所述模型文件中解析出模型以及所述模型的动画参数;
[0162]模型渲染模块,适于根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象。
[0163]B10、根据B9所述的装置,其中,所述模型的动画参数包括所述模型的运动路径以及每帧动画的时长,所述模型渲染模块还适于:
[0164]根据所述模型的运动路径以及每帧动画的时长,对所述模型的每帧动画进行渲染,以生成对应的虚拟对象。
[0165]B11、根据B9所述的装置,其中,所述模型由多条线段构成,所述模型的动画参数包括所述模型中线段的运动路径以及每帧动画的时长,所述模型渲染模块还适于:
[0166]根据所述模型中线段的运动路径以及每帧动画的时长,对所述模型的每帧动画进行渲染,以生成对应的虚拟对象。
[0167]B12、根据B9所述的装置,其中,所述模型的动画参数包括所述模型的每帧动画的纹理,所述模型渲染模块还适于:
[0168]获取所述模型的当前帧动画的纹理,并根据所述模型的当前帧动画的纹理对所述模型的当前帧动画进行渲染;
[0169]获取所述模型的下一帧动画的纹理,并根据所述模型的下一帧动画的纹理对所述模型的下一帧动画进行渲染,直至渲染完成所有帧动画。
[0170]B13、根据B9-B12任一项所述的装置,其中,所述模型的动画参数包括循环渲染所述模型的次数,所述模型渲染模块还适于:
[0171]根据循环渲染所述模型的次数,循环渲染所述模型生成对应的虚拟对象。
[0172]B14、根据B9-B13任一项所述的装置,其中,还包括:
[0173]播放模块,适于在所述模型渲染模块根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象之后,在所述移动终端的显示界面上播放所述虚拟对象。
[0174]B15、根据B14所述的装置,其中,所述播放模块还适于:
[0175]预设播放时间区间;
[0176]根据所述播放时间区间,在所述移动终端的显示界面上播放所述虚拟对象。
[0177]B16、根据B15所述的装置,其中,所述播放时间区间设置有空闲时间区间和非空闲时间区间,所述播放模块还适于:
[0178]当处于所述空闲时间区间时,在所述移动终端的显示界面上播放所述虚拟对象;
[0179]当处于所述非空闲时间区间时,在所述移动终端的显示界面上暂停所述虚拟对象。
【主权项】
1.一种在移动终端上生成虚拟对象的方法,包括: 调用模型加载函数,利用所述模型加载函数加载用于生成虚拟对象的模型文件; 从所述模型文件中解析出模型以及所述模型的动画参数; 根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象。2.根据权利要求1所述的方法,其中, 所述模型的动画参数包括所述模型的运动路径以及每帧动画的时长; 根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象,包括: 根据所述模型的运动路径以及每帧动画的时长,对所述模型的每帧动画进行渲染,以生成对应的虚拟对象。3.根据权利要求1所述的方法,其中, 所述模型由多条线段构成,所述模型的动画参数包括所述模型中线段的运动路径以及每帧动画的时长; 根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象,包括: 根据所述模型中线段的运动路径以及每帧动画的时长,对所述模型的每帧动画进行渲染,以生成对应的虚拟对象。4.根据权利要求1所述的方法,其中, 所述模型的动画参数包括所述模型的每帧动画的纹理; 根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象,包括: 获取所述模型的当前帧动画的纹理,并根据所述模型的当前帧动画的纹理对所述模型的当前帧动画进行渲染; 获取所述模型的下一帧动画的纹理,并根据所述模型的下一帧动画的纹理对所述模型的下一帧动画进行渲染,直至渲染完成所有帧动画。5.根据权利要求1-4任一项所述的方法,其中, 所述模型的动画参数包括循环渲染所述模型的次数; 根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象,包括: 根据循环渲染所述模型的次数,循环渲染所述模型生成对应的虚拟对象。6.根据权利要求1-5任一项所述的方法,其中,根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象之后,还包括: 在所述移动终端的显示界面上播放所述虚拟对象。7.根据权利要求6所述的方法,其中,在所述移动终端的显示界面上播放所述虚拟对象,包括: 预设播放时间区间; 根据所述播放时间区间,在所述移动终端的显示界面上播放所述虚拟对象。8.根据权利要求7所述的方法,其中, 所述播放时间区间设置有空闲时间区间和非空闲时间区间; 根据所述播放时间区间,在所述移动终端的显示界面上播放所述虚拟对象,包括: 当处于所述空闲时间区间时,在所述移动终端的显示界面上播放所述虚拟对象; 当处于所述非空闲时间区间时,在所述移动终端的显示界面上暂停所述虚拟对象。9.一种在移动终端上生成虚拟对象的装置,包括: 模型文件加载模块,适于调用模型加载函数,利用所述模型加载函数加载用于生成虚拟对象的模型文件; 模型文件解析模块,适于从所述模型文件中解析出模型以及所述模型的动画参数; 模型渲染模块,适于根据所述模型的动画参数,将所述模型渲染生成对应的虚拟对象。10.根据权利要求9所述的装置,其中,所述模型的动画参数包括所述模型的运动路径以及每帧动画的时长,所述模型渲染模块还适于: 根据所述模型的运动路径以及每帧动画的时长,对所述模型的每帧动画进行渲染,以生成对应的虚拟对象。
【文档编号】G06T13/00GK105893032SQ201610188695
【公开日】2016年8月24日
【申请日】2016年3月29日
【发明人】陈杰
【申请人】北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1