一种用于显示动画的方法和装置与流程

文档序号:12472158阅读:301来源:国知局
一种用于显示动画的方法和装置与流程

本申请涉及计算机技术领域,具体涉及多媒体技术领域,尤其涉及一种用于显示动画的方法和装置。



背景技术:

移动终端越来越成为人们的必备品,基于移动终端的各种应用也越来越多。一种常见的移动终端应用是在移动终端上使用、展现3D动画。比如,在手机上使用即时通讯工具,通常需要利用各种表情动作来传达情绪信息,这些表情动作可以采用3D动画的形式体现。虚拟摄像机是3D动画软件架设的“摄像机”它在动画制时对于表现视点的作用相当于传统意义上的摄像机,虚拟摄像机与拍摄的物理摄像机的拍摄对象完全不同但是功能却极其相似,物理摄像机拍摄的是实景人物或实际搭建好的场景,虚拟摄像机拍摄的是建立在三维软件中的模型,虚拟摄像机具有镜头、焦距、焦点、光圈、景深等参数,可以实现推、拉、摇、移、跟、甩、升、降等运动。

现有的通讯应用中,不同用户的通讯界面的显示的3D动画都是一样的,动画显示方法不够灵活,无法解决用户希望在同一时刻从不同角度查看3D动画,或者不同用户希望从不同角度查看3D动画的问题。



技术实现要素:

本申请的目的在于提出一种改进的用于显示动画的方法和装置,来解决以上背景技术部分提到的技术问题。

第一方面,本申请提供了一种用于显示动画的方法,上述方法包括:查询登陆目标通讯应用的账户的3D模型信息以及上述账户当前通讯对象的3D模型信息;获取所查询的3D模型信息对应的3D模型文件,并将上述3D模型文件导入预先建立的3D动画的场景;根据以下信息项中的至少一项设置上述场景中的虚拟摄像机:上述账户自定义的摄像机参数的值、上述3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值;在上述目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。

在一些实施例中,上述根据以下信息项中的至少一项设置上述场景中的虚拟摄像机:上述账户自定义的摄像机参数的值、上述3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值,包括:判断是否获取到上述账户自定义的摄像机参数的值;如果是,则根据上述账户自定义的摄像机参数的值设置上述场景中的虚拟摄像机;如果否,则响应于获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述3D模型执行的动画文件关联的摄像机参数的值设置上述场景中的虚拟摄像机,响应于未获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机。

在一些实施例中,上述摄像机参数的缺省值是根据以下至少一项确定的:上述账户的3D模型的位置、上述账户的3D模型的尺寸、上述账户当前通讯对象的3D模型的位置、上述账户当前通讯对象的3D模型的尺寸;以及上述根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机,包括:根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机,使得上述虚拟摄像机用于拍摄上述账户当前通讯对象的3D模型的正面。

在一些实施例中,上述摄像机参数的缺省值包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值,其中,上述虚拟摄像机的位置的缺省值包括上述账户的3D模型的后上方区域,当上述账户的3D模型为人物模型时,上述虚拟摄像机的位置的缺省值包括上述人物模型肩部的后上方区域,上述虚拟摄像机的朝向的缺省值包括朝着上述账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄上述账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖上述账户当前通讯对象的3D模型的几何形状。

在一些实施例中,上述场景还包括以下节点中的至少一项:背景节点、灯光节点、道具节点、倒影节点、声音节点;以及上述方法还包括:根据以下信息项中的至少一项设置上述节点的参数:上述账户自定义的节点参数的值、上述账户当前通讯对象设置的节点参数的值、上述3D模型执行的动画文件关联的节点参数的值、上述节点参数的缺省值。

在一些实施例中,上述根据上述账户当前通讯对象设置的节点参数的值设置上述节点的参数,包括:向上述目标通讯应用的服务器发送场景同步请求,其中,上述同步请求包括请求同步的通讯对象的标识,使得上述服务器获取并下发上述标识对应的通讯对象设置的节点参数的值;接收上述服务器下发的节点参数的值;将上述节点的参数的值同步为所接收的节点参数的值。

在一些实施例中,上述场景中包括至少两个摄像机参数的值不完全相同的虚拟摄像机,上述目标通讯应用界面包括至少两个视窗;以及上述在上述目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画,包括:在上述至少两个视窗中分别显示所设置的虚拟摄像机采集到的动画。

第二方面,本申请提供了一种用于显示动画的装置,上述装置包括:查询单元,用于查询登陆目标通讯应用的账户的3D模型信息以及上述账户当前通讯对象的3D模型信息;导入单元,用于获取所查询的3D模型信息对应的3D模型文件,并将上述3D模型文件导入预先建立的3D动画的场景;设置单元,用于根据以下信息项中的至少一项设置上述场景中的虚拟摄像机:上述账户自定义的摄像机参数的值、上述3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值;显示单元,用于在上述目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。

在一些实施例中,上述设置单元,进一步配置用于:判断是否获取到上述账户自定义的摄像机参数的值;如果是,则根据上述账户自定义的摄像机参数的值设置上述场景中的虚拟摄像机;如果否,则响应于获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述3D模型执行的动画文件关联的摄像机参数的值设置上述场景中的虚拟摄像机,响应于未获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机。

在一些实施例中,上述摄像机参数的缺省值是根据以下至少一项确定的:上述账户的3D模型的位置、上述账户的3D模型的尺寸、上述账户当前通讯对象的3D模型的位置、上述账户当前通讯对象的3D模型的尺寸;以及上述设置单元,进一步配置用于:根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机,使得上述虚拟摄像机用于拍摄上述账户当前通讯对象的3D模型的正面。

在一些实施例中,上述摄像机参数的缺省值包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值,其中,上述虚拟摄像机的位置的缺省值包括上述账户的3D模型的后上方区域,当上述账户的3D模型为人物模型时,上述虚拟摄像机的位置的缺省值包括上述人物模型肩部的后上方区域,上述虚拟摄像机的朝向的缺省值包括朝着上述账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄上述账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖上述账户当前通讯对象的3D模型的几何形状。

在一些实施例中,上述场景还包括以下节点中的至少一项:背景节点、灯光节点、道具节点、倒影节点、声音节点;以及上述装置还包括:节点的参数设置单元,用于根据以下信息项中的至少一项设置上述节点的参数:上述账户自定义的节点参数的值、上述账户当前通讯对象设置的节点参数的值、上述3D模型执行的动画文件关联的节点参数的值、上述节点参数的缺省值。

在一些实施例中,上述节点的参数设置单元,包括:发送子单元,用于向上述目标通讯应用的服务器发送场景同步请求,其中,上述同步请求包括请求同步的通讯对象的标识,使得上述服务器获取并下发上述标识对应的通讯对象设置的节点参数的值;接收子单元,用于接收上述服务器下发的节点参数的值;同步子单元,用于将上述节点的参数的值同步为所接收的节点参数的值。

在一些实施例中,上述场景中包括至少两个摄像机参数的值不完全相同的虚拟摄像机,上述目标通讯应用界面包括至少两个视窗;以及上述显示单元,进一步配置用于:在上述至少两个视窗中分别显示所设置的虚拟摄像机采集到的动画。

本申请提供的用于显示动画的方法和装置,通过查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息,获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景,而后根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值,最后在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画,提高了动画显示的灵活性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的用于显示动画的方法的一个实施例的流程图;

图3A,图3B,图3C,图3D,图3E是根据本申请的用于显示动画的方法的应用场景的示意图;

图4是根据本申请的用于显示动画的方法的又一个实施例的流程图;

图5是根据本申请的用于显示动画的装置的一个实施例的结构示意图;

图6是适于用来实现本申请实施例的终端的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的用于显示动画的方法或装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供传输链路的介质。网络104可以包括各种连接类型,例如有线、无线传输链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种需要进行动画显示的应用,例如,即时通讯类应用、浏览器类应用、电子商务类应用等。

终端设备101、102、103可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上安装的即时通讯类应用提供支持的后台服务器。服务器105中可以存储目标通讯应用的账户的3D模型信息、好友信息以及通讯端口等信息。终端设备101、102、103可以首先查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息,获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景,而后根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值,最后在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。

需要说明的是,本申请实施例所提供的用于显示动画的方法一般由终端设备101、102、103执行,相应地,用于显示动画的装置一般设置于终端设备101、102、103中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

请参考图2,其示出了根据本申请的用于显示动画的方法的一个实施例的流程200。需要说明的是,本申请实施例所提供的用于显示动画的方法一般由图1中的终端设备101、102、103执行。该方法包括以下步骤:

步骤201,查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息。

在本实施例中,用于显示动画的方法运行于其上的电子设备(例如图1所示的终端)可以首先查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息。目标通讯应用即上述电子设备中安装的带有显示动画的功能的通讯应用。账户的3D模型信息可以是用户在注册账户时,或注册完成后在预设的备选3D模型中选择的3D模型的信息,也可以是根据用户输入的文字或图像信息个性化的生成的账户的3D模型的信息,本发明对此不做限定,生成的3D模型的信息或用户选择的3D模型的信息可以记录在本地或通讯应用的后端服务器中,以供后续查询。

步骤202,获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景。

在本实施例中,上述电子设备可以获取步骤201中查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景。3D模型文件是指构建3D模型所需要的资源文件,包括骨骼文件、网格文件等,3D模型文件可以存储在通讯应用的后端服务器中,也可以缓存在终端中,上述电子设备可以先确定本地是否存储有所查询的3D模型信息对应的3D模型文件,如果没有,则可以通过网络请求的方式获取目标通讯应用的后端服务器中存储的3D模型文件。3D动画的场景类似于软件的界面,虚拟角色、虚拟物品等虚拟物体都需要在这个场景上创建,而后依托该场景进行显示,场景中可以创建任意元素(名字)的节点,给节点添加相应的组件,节点就拥有相应的行为。将3D模型文件导入预先建立的3D动画的场景后,场景中包括了登陆目标通讯应用的账户的3D模型以及账户当前通讯对象的3D模型,3D模型可以是虚拟人物,即本地用户与其通讯对象的三维化身。

在本实施例的一些可选的实现方式中,本地用户与其通讯对象的三维化身的行为同步。三维化身行为的指令信息为定义好的一段文本数据,可以根据即时通讯协议,在上述电子设备与其通讯对象登陆的设备之间进行传输,以实现在不同设备间的三维化身行为同步。指令信息可以用于指示己(对)方执行何种动作、指示己(对)方采用何种行为策略等。其中,行为策略是一种人工智能,三维化身可以根据所处的环境和相应指令,智能选择一种行为,可以通过碰撞检测等实现。如指令要求化身从A点走到B点,如果没有任何阻碍,化身会在A点和B点之间选择一条最近的路并走过去。但如果A点和B点之间有一个障碍物,则化身会在碰到障碍物时,智能选择如何绕过障碍物。

步骤203,根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值。

在本实施例中,上述电子设备可以根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值。设置虚拟摄像机可以是在场景中创建出一个摄像机节点或修改场景中已存在的摄像机节点的摄像机参数,虚拟摄像机的摄像机参数可以包括以下至少一项:虚拟摄像机的位置、虚拟摄像机的朝向、虚拟摄像机的视野、虚拟摄像机的焦距。需要说明的是,上述电子设备与其通讯对象登陆的设备的动画场景中,除了3D模型,其余节点的设置都可以是独立的,例如,上述电子设备与其通讯对象登陆的设备对于虚拟摄像机的设置可以是不同的,即本地用户与其通讯对象可通过不同视角观察同一动画。

在本实施例的一些可选的实现方式中,可以先判断是否获取到账户自定义的摄像机参数的值;如果是,则根据账户自定义的摄像机参数的值设置场景中的虚拟摄像机;如果否,则响应于获取到3D模型执行的动画文件关联的摄像机参数的值,根据3D模型执行的动画文件关联的摄像机参数的值设置场景中的虚拟摄像机,响应于未获取到3D模型执行的动画文件关联的摄像机参数的值,根据摄像机参数的缺省值设置场景中的虚拟摄像机。也可以对一些特殊的动画文件关联的摄像机参数的值设置最高的优先级,即使获取到账户自定义的摄像机参数的值,为了保证动画的观看效果也依然根据3D模型执行的动画文件关联的摄像机参数的值设置场景中的虚拟摄像机。

在本实施例的一些可选的实现方式中,可以根据摄像机参数的缺省值设置场景中的虚拟摄像机,使得虚拟摄像机用于拍摄账户当前通讯对象的3D模型的正面,摄像机参数的缺省值可以是根据以下至少一项确定的:账户的3D模型的位置、账户的3D模型的尺寸、账户当前通讯对象的3D模型的位置、账户当前通讯对象的3D模型的尺寸。

在本实施例的一些可选的实现方式中,摄像机参数的缺省值可以包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值,其中,虚拟摄像机的位置的缺省值包括账户的3D模型的后上方区域,当账户的3D模型为人物模型时,虚拟摄像机的位置的缺省值包括人物模型肩部的后上方区域,虚拟摄像机的朝向的缺省值包括朝着账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖账户当前通讯对象的3D模型的几何形状。

步骤204,在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。

在本实施例中,上述电子设备可以在目标通讯应用界面中显示步骤203中设置的虚拟摄像机采集到的动画。显示虚拟摄像机采集到的动画即将构建好的3D物体显示在2D屏幕坐标上,可以现将世界坐标向相机坐标映射,再将其投影到投影平面,最后将投影坐标系转换至图像(也叫像素)坐标系,在2D屏幕上进行显示。

在本实施例的一些可选的实现方式中,场景还包括以下节点中的至少一项:背景节点、灯光节点、道具节点、倒影节点、声音节点。可以根据以下信息项中的至少一项设置节点的参数:账户自定义的节点参数的值、账户当前通讯对象设置的节点参数的值、3D模型执行的动画文件关联的节点参数的值、节点参数的缺省值。用户可以将自己喜欢的音乐和图像添加至相应节点,作为动画场景中的背景声音和背景图像,还可以选择是否在当前场景中加入倒影节点、道具节点等,道具节点可以包括宠物、植物等的3D模型及其对应的行动组件。系统也可以根据用户当前所处的真实环境智能设置场景,例如白天,夜晚,晴天,下雪等。上述节点可以使动画更加真实、丰富,增加了动画的趣味性,有助于气氛的营造。

上述电子设备本地用户与其通讯对象对于上述节点等聊天场景节点的设置可以相同也可以不相同。若根据账户当前通讯对象设置的节点参数的值设置节点的参数,即同步上述电子设备本地用户与其通讯对象的聊天场景,同步可以通过多种方法来实施。例如,在基于节点组件的三维编程框架下,同步发起方的设备记录场景的所有聊天场景节点组件参数。记录的信息根据网络协议,上传到服务器。同步接收方也根据对应的网络协议,从服务器下载这部分记录的信息,并解析加载到自己的场景中。如此,可以更好地模拟现实中聊天的场景,增加用户互动体验的真实性。

在本实施例的一些可选的实现方式中,可以向目标通讯应用的服务器发送场景同步请求,其中,同步请求包括请求同步的通讯对象的标识,使得服务器获取并下发标识对应的通讯对象设置的节点参数的值;接收服务器下发的节点参数的值;将节点的参数的值同步为所接收的节点参数的值。通讯对象的标识可以是通讯对象的账户名,IP地址等可唯一标识通讯对象的信息。当上述电子设备的通讯对象多于一个时,可以采用问询的方式,让用户自行选择是否使用以及使用哪个用户的聊天场景,再根据用户的输入向目标通讯应用的服务器发送场景同步请求。

在本实施例的一些可选的实现方式中,场景中可以包括至少两个摄像机参数的值不完全相同的虚拟摄像机,目标通讯应用界面可以包括至少两个视窗,可以在至少两个视窗中分别显示所设置的虚拟摄像机采集到的动画。例如,为了满足用户获知其通讯对象是如何观察自己的需求,系统可为用户定义多视窗观察化身的方案。即除正常设置的主视窗外另设视窗,另设的视窗的虚拟摄像机的摄像机参数与其各个通讯对象的主视窗对应的虚拟摄像机的摄像机参数同步。或者,为了使用户可以在同一时刻从不同角度观察和理解化身的行为,另设视窗的虚拟摄像机的数量和摄像机参数也可以由用户自行设置,从而更好地进行通讯和娱乐。各个视窗在目标通讯应用界面的排列方式可以是层叠关系、并列关系,也可以根据需要出现和隐藏,取决于业务设计。

继续参见图3A,图3B,图3C,图3D,图3E。图3A,图3B,图3C,图3D,图3E是根据本实施例的用于显示动画的方法的应用场景的示意图。图3A,图3B的应用场景中,终端A、终端B通过即时通讯应用建立了通讯连接,图3A为终端A的界面示意图,图3B为终端B的界面示意图,界面的上半部分为动画显示区域,下半部分为输入部分。终端A、终端B的虚拟摄像机是根据摄像机参数的缺省值设置的,即虚拟摄像机的位置在人物模型肩部的后上方区域,拍摄其通讯对象的3D模型的正面。图3C的应用场景中,终端A、终端B和终端C通过即时通讯应用建立了通讯连接,图3C为终端B的界面示意图。终端B的虚拟摄像机是根据摄像机参数的缺省值设置的,即虚拟摄像机的位置在终端C人物模型肩部的后上方区域,拍摄终端A的3D模型和终端C的3D模型的正面。图3D的应用场景中,终端可以优先使用可以更好地体现其通讯对象发送的动画的虚拟摄像机。当终端B控制的3D模型向终端A控制的3D模型发送微笑着说“你好!”的动画时,为了使终端A更好的显示终端B发送的动画,终端A使用的虚拟摄像机为优先显示终端B发送的动画的虚拟摄像机,终端B使用的虚拟摄像机为优先显示终端A发送的动画的虚拟摄像机。需要说明的是,上述图示中的3D模型均为示例性的展示,在其他实施例当中也可以为其他样式。图3E的应用场景中,“小a”为用户的通讯对象,如果用户在“修改三维聊天场景”一栏中选择了开启此功能,则用户可以根据自己的喜好设置与“小a”的聊天界面中的三维聊天场景。

本申请的上述实施例提供的方法通过查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息,获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景,而后根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值,最后在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画,提高了动画显示的灵活性。

进一步参考图4,其示出了用于显示动画的方法的又一个实施例的流程400。该用于显示动画的方法的流程400,包括以下步骤:

步骤401,查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息。

在本实施例中,用于显示动画的方法运行于其上的电子设备(例如图1所示的终端)可以首先查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息。

步骤402,获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景。

在本实施例中,上述电子设备可以获取步骤401中查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景。

步骤403,判断是否获取到账户自定义的摄像机参数的值,如果是,则进入步骤404,如果否,则进入步骤405。

在本实施例中,上述电子设备可以判断是否获取到账户自定义的摄像机参数的值,如果是,则进入步骤404,如果否,则进入步骤405。账户自定义的摄像机参数的值可以是本次通讯初始化时,上述电子设备接收到的用户对于摄像机参数的个性化设置,也可以是通讯过程中用户对于观察视角的调整操作产生的摄像机参数的值,例如,用户可以通过滑动、缩放等常用的手势操作来调整的摄像机参数。

步骤404,根据账户自定义的摄像机参数的值设置场景中的虚拟摄像机。

在本实施例中,上述电子设备可以在步骤403中判断出获取到账户自定义的摄像机参数的值时,根据账户自定义的摄像机参数的值设置场景中的虚拟摄像机。账户自定义的摄像机参数可以只是摄像机参数的一部分,例如,用户仅通过缩放操作改变了虚拟摄像机的视野,或仅通过滑动操作改变了虚拟摄像机的朝向,那么虚拟摄像机的其他摄像机参数的值可以依旧使用3D模型执行的动画文件关联的摄像机参数的值,或摄像机参数的缺省值,如果其他摄像机参数的值与改变的摄像机参数的值存在关联关系,同样也可以按照预先设置的算法同步调整其他摄像机参数的值。

步骤405,判断是否获取到3D模型执行的动画文件关联的摄像机参数的值,如果是,则进入步骤406,如果否,则进入步骤407。

在本实施例中,上述电子设备可以在步骤403中判断出未获取到账户自定义的摄像机参数的值时,判断是否获取到3D模型执行的动画文件关联的摄像机参数的值,如果是,则进入步骤406,如果否,则进入步骤407。3D模型执行的动画文件关联的摄像机参数的值可以是3D模型执行的动画文件的标签信息中携带的摄像机参数的值。动画是由多帧组成的,并通过动画帧来表现动画内容。动画中表达内容的情节会有变化,因此表现动画帧的镜头也需要根据动画的播放进度产生相应的变化。例如,动画为“虚拟人物a从桌子上拿起一杯水,喝完杯子里的水,将水杯放回桌子”,此时为了更好的体现动画内容,可以将虚拟人物a从桌子上拿起一杯水和将水杯放回桌子相关的动画帧关联的摄像机参数的值设置为用于拍摄远景的值,将a喝水相关的动画帧关联的摄像机参数的值设置为用于拍摄近景的值,以突显虚拟人物a喝水的动作。

步骤406,根据3D模型执行的动画文件关联的摄像机参数的值设置场景中的虚拟摄像机。

在本实施例中,上述电子设备在步骤405中判断出获取到3D模型执行的动画文件关联的摄像机参数的值时,可以根据3D模型执行的动画文件关联的摄像机参数的值设置场景中的虚拟摄像机,以此可以获得更好的动画显示效果。

步骤407,根据摄像机参数的缺省值设置场景中的虚拟摄像机。

在本实施例中,上述电子设备可以在步骤405中判断出未获取到3D模型执行的动画文件关联的摄像机参数的值时,根据摄像机参数的缺省值设置场景中的虚拟摄像机。摄像机参数的缺省值是预先确定好的可以使用户观看视角较佳的值,一般情况下,用户是从自己三维化身的角度,观察当前通讯对象的3D模型的正面,这样代入感较强。摄像机参数的缺省值可以包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值。摄像机参数的缺省值可以是根据以下至少一项确定的:账户的3D模型的位置、账户的3D模型的尺寸、账户当前通讯对象的3D模型的位置、账户当前通讯对象的3D模型的尺寸。虚拟摄像机的位置的缺省值可以包括账户的3D模型的后上方区域,当账户的3D模型为人物模型时,虚拟摄像机的位置的缺省值包括人物模型肩部的后上方区域,虚拟摄像机的朝向的缺省值包括朝着账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖账户当前通讯对象的3D模型的几何形状。

步骤408,在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。

在本实施例中,上述电子设备可以在目标通讯应用界面中显示步骤404、步骤406或步骤407设置的虚拟摄像机采集到的动画。对于采集到的动画的显示,可以是在预先建立的视窗中进行显示,视窗的数量和排列方式可以根据用户定义而设置,每个视窗可以显示不同虚拟摄像机采集到的动画。

从图4中可以看出,与图2对应的实施例相比,本实施例中的用于显示动画的方法的流程400突出了确定虚拟相机设置依据的具体步骤。由此,本实施例描述的方案在提高了动画显示的灵活性的同时,也提升了动画的显示效果。

进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于显示动画的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例上述的用于显示动画的装置500包括:查询单元501、导入单元502、设置单元503和显示单元504。其中,查询单元501,用于查询登陆目标通讯应用的账户的3D模型信息以及上述账户当前通讯对象的3D模型信息;导入单元502,用于获取所查询的3D模型信息对应的3D模型文件,并将上述3D模型文件导入预先建立的3D动画的场景;设置单元503,用于根据以下信息项中的至少一项设置上述场景中的虚拟摄像机:上述账户自定义的摄像机参数的值、上述3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值;显示单元504,用于在上述目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。

在本实施例中,用于显示动画的装置500中查询单元501、导入单元502、设置单元503和显示单元504的具体处理可参看图2对应实施例中的步骤201、步骤202、步骤203和步骤204的实现方式的相关描述,在此不再赘述。

在本实施例的一些可选的实现方式中,上述设置单元503,进一步配置用于:判断是否获取到上述账户自定义的摄像机参数的值;如果是,则根据上述账户自定义的摄像机参数的值设置上述场景中的虚拟摄像机;如果否,则响应于获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述3D模型执行的动画文件关联的摄像机参数的值设置上述场景中的虚拟摄像机,响应于未获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机。

在本实施例的一些可选的实现方式中,上述摄像机参数的缺省值是根据以下至少一项确定的:上述账户的3D模型的位置、上述账户的3D模型的尺寸、上述账户当前通讯对象的3D模型的位置、上述账户当前通讯对象的3D模型的尺寸;以及上述设置单元503,进一步配置用于:根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机,使得上述虚拟摄像机用于拍摄上述账户当前通讯对象的3D模型的正面。

在本实施例的一些可选的实现方式中,上述摄像机参数的缺省值包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值,其中,上述虚拟摄像机的位置的缺省值包括上述账户的3D模型的后上方区域,当上述账户的3D模型为人物模型时,上述虚拟摄像机的位置的缺省值包括上述人物模型肩部的后上方区域,上述虚拟摄像机的朝向的缺省值包括朝着上述账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄上述账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖上述账户当前通讯对象的3D模型的几何形状。

在本实施例的一些可选的实现方式中,上述场景还包括以下节点中的至少一项:背景节点、灯光节点、道具节点、倒影节点、声音节点;以及上述装置还包括:节点的参数设置单元,用于根据以下信息项中的至少一项设置上述节点的参数:上述账户自定义的节点参数的值、上述账户当前通讯对象设置的节点参数的值、上述3D模型执行的动画文件关联的节点参数的值、上述节点参数的缺省值。

在本实施例的一些可选的实现方式中,上述节点的参数设置单元,包括:发送子单元,用于向上述目标通讯应用的服务器发送场景同步请求,其中,上述同步请求包括请求同步的通讯对象的标识,使得上述服务器获取并下发上述标识对应的通讯对象设置的节点参数的值;接收子单元,用于接收上述服务器下发的节点参数的值;同步子单元,用于将上述节点的参数的值同步为所接收的节点参数的值。

在本实施例的一些可选的实现方式中,上述场景中包括至少两个摄像机参数的值不完全相同的虚拟摄像机,上述目标通讯应用界面包括至少两个视窗;以及上述显示单元504,进一步配置用于:在上述至少两个视窗中分别显示所设置的虚拟摄像机采集到的动画。

下面参考图6,其示出了适于用来实现本申请实施例的终端的计算机系统600的结构示意图。

如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。

以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括查询单元、导入单元、设置单元和显示单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,查询单元还可以被描述为“查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息”。

作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息;获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景;根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值;在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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