首页 / 专利库 / 电脑图像 / 虚拟摄像机 / 一种用于显示动画的方法和装置

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

阅读:70发布:2020-05-11

专利汇可以提供一种用于显示动画的方法和装置专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种用于显示动画的方法和装置。该方法的一具体实施方式包括:查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息;获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景;根据以下信息项中的至少一项设置场景中的 虚拟摄像机 :账户自定义的摄像机参数的值、3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值;在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。该实施方式提高了动画显示的灵活性。,下面是一种用于显示动画的方法和装置专利的具体信息内容。

1.一种用于显示动画的方法,其特征在于,所述方法包括:
查询登陆目标通讯应用的账户的3D模型信息以及所述账户当前通讯对象的3D模型信息;
获取所查询的3D模型信息对应的3D模型文件,并将所述3D模型文件导入预先建立的3D动画的场景;
根据以下信息项中的至少一项设置所述场景中的虚拟摄像机:所述账户自定义的摄像机参数的值、所述场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值,所述摄像机参数的缺省值包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值,其中,所述虚拟摄像机的位置的缺省值包括所述账户的3D模型的后上方区域,当所述账户的3D模型为人物模型时,所述虚拟摄像机的位置的缺省值包括所述人物模型肩部的后上方区域,所述虚拟摄像机的朝向的缺省值包括朝着所述账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄所述账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖所述账户当前通讯对象的3D模型的几何形状;
在所述目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。
2.根据权利要求1所述的方法,其特征在于,所述根据以下信息项中的至少一项设置所述场景中的虚拟摄像机:所述账户自定义的摄像机参数的值、所述场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值,包括:
判断是否获取到所述账户自定义的摄像机参数的值;
如果是,则根据所述账户自定义的摄像机参数的值设置所述场景中的虚拟摄像机;
如果否,则响应于获取到所述3D模型执行的动画文件关联的摄像机参数的值,根据所述3D模型执行的动画文件关联的摄像机参数的值设置所述场景中的虚拟摄像机,响应于未获取到所述3D模型执行的动画文件关联的摄像机参数的值,根据所述摄像机参数的缺省值设置所述场景中的虚拟摄像机。
3.根据权利要求2所述的方法,其特征在于,所述摄像机参数的缺省值是根据以下至少一项确定的:所述账户的3D模型的位置、所述账户的3D模型的尺寸、所述账户当前通讯对象的3D模型的位置、所述账户当前通讯对象的3D模型的尺寸;以及
所述根据所述摄像机参数的缺省值设置所述场景中的虚拟摄像机,包括:
根据所述摄像机参数的缺省值设置所述场景中的虚拟摄像机,使得所述虚拟摄像机用于拍摄所述账户当前通讯对象的3D模型的正面。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述场景还包括以下节点中的至少一项:背景节点、灯光节点、道具节点、倒影节点、声音节点;以及所述方法还包括:
根据以下信息项中的至少一项设置所述节点的参数:所述账户自定义的节点参数的值、所述账户当前通讯对象设置的节点参数的值、所述3D模型执行的动画文件关联的节点参数的值、所述节点参数的缺省值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述账户当前通讯对象设置的节点参数的值设置所述节点的参数,包括:
向所述目标通讯应用的服务器发送场景同步请求,其中,所述同步请求包括请求同步的通讯对象的标识,使得所述服务器获取并下发所述标识对应的通讯对象设置的节点参数的值;
接收所述服务器下发的节点参数的值;
将所述节点的参数的值同步为所接收的节点参数的值。
6.根据权利要求1-3中任一项所述的方法,其特征在于,所述场景中包括至少两个摄像机参数的值不完全相同的虚拟摄像机,所述目标通讯应用界面包括至少两个视窗;以及所述在所述目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画,包括:
在所述至少两个视窗中分别显示所设置的虚拟摄像机采集到的动画。
7.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
根据以下信息项中的至少一项确定所述3D模型的属性值:所述账户自定义的所述3D模型的属性值、所述3D模型执行的动画文件的信息、所述虚拟摄像机的摄像机参数的值。
8.根据权利要求7所述的方法,其特征在于,所述3D模型的属性值包括隐藏或非隐藏;
以及
所述根据以下信息项中的至少一项确定所述3D模型的属性值:所述账户自定义的所述
3D模型的属性值、所述3D模型执行的动画文件的信息、所述虚拟摄像机的摄像机参数的值,包括:
响应于未获取到所述账户自定义的所述3D模型的属性值,根据所述3D模型执行的动画文件的信息确定所述3D模型的属性值,或根据所述虚拟摄像机的摄像机参数的值确定所述
3D模型的属性值。
9.根据权利要求8所述的方法,其特征在于,所述动画文件的信息包括动画文件的类型,所述动画文件的类型包括默认的动画文件、用于控制3D模型执行预定动作的动画文件、用于表征3D模型的状态的动画文件;
所述根据所述3D模型执行的动画文件的信息确定所述3D模型的属性值,包括以下至少一种:
响应于所述账户的3D模型执行的动画文件的信息为空,或所述账户的3D模型执行的动画文件的类型为默认的动画文件,确定所述账户的3D模型的属性值为隐藏,所述账户当前通讯对象的3D模型的属性值为非隐藏;
响应于所述账户当前通讯对象的3D模型执行的动画文件的类型为用于控制3D模型执行预定动作的动画文件,且所述账户的3D模型执行的动画文件的类型为用于表征3D模型的状态的动画文件,或用于控制3D模型执行预定动作的动画文件,获取所述账户的3D模型执行的动画文件和/或所述账户当前通讯对象的3D模型执行的动画文件关联的3D模型的属性值,根据所获取的属性值确定所述账户的3D模型的属性值和所述账户当前通讯对象的3D模型的属性值。
10.根据权利要求8所述的方法,其特征在于,所述根据所述虚拟摄像机的摄像机参数的值确定所述3D模型的属性值,包括以下至少一种:
响应于确定出所述虚拟摄像机的摄像机参数为所述摄像机参数的缺省值,确定所述账户的3D模型的属性值为隐藏,所述账户当前通讯对象的3D模型的属性值为非隐藏;
响应于确定出所述虚拟摄像机的摄像机参数不为所述摄像机参数的缺省值,根据所述虚拟摄像机的摄像机参数确定所述虚拟摄像机用于拍摄的3D模型,若所确定出的3D模型不包括所述账户的3D模型,确定所述账户的3D模型的属性值为隐藏。
11.一种用于显示动画的装置,其特征在于,所述装置包括:
查询单元,用于查询登陆目标通讯应用的账户的3D模型信息以及所述账户当前通讯对象的3D模型信息;
导入单元,用于获取所查询的3D模型信息对应的3D模型文件,并将所述3D模型文件导入预先建立的3D动画的场景;
设置单元,用于根据以下信息项中的至少一项设置所述场景中的虚拟摄像机:所述账户自定义的摄像机参数的值、所述场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值,所述摄像机参数的缺省值包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值,其中,所述虚拟摄像机的位置的缺省值包括所述账户的3D模型的后上方区域,当所述账户的3D模型为人物模型时,所述虚拟摄像机的位置的缺省值包括所述人物模型肩部的后上方区域,所述虚拟摄像机的朝向的缺省值包括朝着所述账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄所述账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖所述账户当前通讯对象的3D模型的几何形状;
显示单元,用于在所述目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。
12.根据权利要求11所述的装置,其特征在于,所述设置单元,进一步配置用于:
判断是否获取到所述账户自定义的摄像机参数的值;
如果是,则根据所述账户自定义的摄像机参数的值设置所述场景中的虚拟摄像机;
如果否,则响应于获取到所述3D模型执行的动画文件关联的摄像机参数的值,根据所述3D模型执行的动画文件关联的摄像机参数的值设置所述场景中的虚拟摄像机,响应于未获取到所述3D模型执行的动画文件关联的摄像机参数的值,根据所述摄像机参数的缺省值设置所述场景中的虚拟摄像机。
13.根据权利要求12所述的装置,其特征在于,所述摄像机参数的缺省值是根据以下至少一项确定的:所述账户的3D模型的位置、所述账户的3D模型的尺寸、所述账户当前通讯对象的3D模型的位置、所述账户当前通讯对象的3D模型的尺寸;以及
所述设置单元,进一步配置用于:
根据所述摄像机参数的缺省值设置所述场景中的虚拟摄像机,使得所述虚拟摄像机用于拍摄所述账户当前通讯对象的3D模型的正面。
14.根据权利要求11-13中任一项所述的装置,其特征在于,所述装置还包括:
属性值确定单元,用于根据以下信息项中的至少一项确定所述3D模型的属性值:所述账户自定义的所述3D模型的属性值、所述3D模型执行的动画文件的信息、所述虚拟摄像机的摄像机参数的值。

说明书全文

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

技术领域

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

背景技术

[0002] 移动终端越来越成为人们的必备品,基于移动终端的各种应用也越来越多。一种常见的移动终端应用是在移动终端上使用、展现3D动画。比如,在手机上使用即时通讯工具,通常需要利用各种表情动作来传达情绪信息,这些表情动作可以采用3D动画的形式体现。虚拟摄像机是3D动画软件架设的“摄像机”它在动画制时对于表现视点的作用相当于传统意义上的摄像机,虚拟摄像机与拍摄的物理摄像机的拍摄对象完全不同但是功能却极其相似,物理摄像机拍摄的是实景人物或实际搭建好的场景,虚拟摄像机拍摄的是建立在三维软件中的模型,虚拟摄像机具有镜头、焦距、焦点、光圈、景深等参数,可以实现推、拉、摇、移、跟、甩、升、降等运动。
[0003] 现有的通讯应用中,不同用户的通讯界面的显示的3D动画都是一样的,动画显示方法不够灵活,无法解决用户希望在同一时刻从不同度查看3D动画,或者不同用户希望从不同角度查看3D动画的问题。发明内容
[0004] 本申请的目的在于提出一种改进的用于显示动画的方法和装置,来解决以上背景技术部分提到的技术问题。
[0005] 第一方面,本申请提供了一种用于显示动画的方法,上述方法包括:查询登陆目标通讯应用的账户的3D模型信息以及上述账户当前通讯对象的3D模型信息;获取所查询的3D模型信息对应的3D模型文件,并将上述3D模型文件导入预先建立的3D动画的场景;根据以下信息项中的至少一项设置上述场景中的虚拟摄像机:上述账户自定义的摄像机参数的值、上述场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值;在上述目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。
[0006] 在一些实施例中,上述根据以下信息项中的至少一项设置上述场景中的虚拟摄像机:上述账户自定义的摄像机参数的值、上述场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值,包括:判断是否获取到上述账户自定义的摄像机参数的值;如果是,则根据上述账户自定义的摄像机参数的值设置上述场景中的虚拟摄像机;如果否,则响应于获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述3D模型执行的动画文件关联的摄像机参数的值设置上述场景中的虚拟摄像机,响应于未获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机。
[0007] 在一些实施例中,上述摄像机参数的缺省值是根据以下至少一项确定的:上述账户的3D模型的位置、上述账户的3D模型的尺寸、上述账户当前通讯对象的3D模型的位置、上述账户当前通讯对象的3D模型的尺寸;以及上述根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机,包括:根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机,使得上述虚拟摄像机用于拍摄上述账户当前通讯对象的3D模型的正面
[0008] 在一些实施例中,上述摄像机参数的缺省值包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值,其中,上述虚拟摄像机的位置的缺省值包括上述账户的3D模型的后上方区域,当上述账户的3D模型为人物模型时,上述虚拟摄像机的位置的缺省值包括上述人物模型肩部的后上方区域,上述虚拟摄像机的朝向的缺省值包括朝着上述账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄上述账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖上述账户当前通讯对象的3D模型的几何形状。
[0009] 在一些实施例中,上述场景还包括以下节点中的至少一项:背景节点、灯光节点、道具节点、倒影节点、声音节点;以及上述方法还包括:根据以下信息项中的至少一项设置上述节点的参数:上述账户自定义的节点参数的值、上述账户当前通讯对象设置的节点参数的值、上述3D模型执行的动画文件关联的节点参数的值、上述节点参数的缺省值。
[0010] 在一些实施例中,上述根据上述账户当前通讯对象设置的节点参数的值设置上述节点的参数,包括:向上述目标通讯应用的服务器发送场景同步请求,其中,上述同步请求包括请求同步的通讯对象的标识,使得上述服务器获取并下发上述标识对应的通讯对象设置的节点参数的值;接收上述服务器下发的节点参数的值;将上述节点的参数的值同步为所接收的节点参数的值。
[0011] 在一些实施例中,上述场景中包括至少两个摄像机参数的值不完全相同的虚拟摄像机,上述目标通讯应用界面包括至少两个视窗;以及上述在上述目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画,包括:在上述至少两个视窗中分别显示所设置的虚拟摄像机采集到的动画。
[0012] 在一些实施例中,上述方法还包括:根据以下信息项中的至少一项确定上述3D模型的属性值:上述账户自定义的上述3D模型的属性值、上述3D模型执行的动画文件的信息、上述虚拟摄像机的摄像机参数的值。
[0013] 在一些实施例中,上述3D模型的属性值包括隐藏或非隐藏;以及上述根据以下信息项中的至少一项确定上述3D模型的属性值:上述账户自定义的上述3D模型的属性值、上述3D模型执行的动画文件的信息、上述虚拟摄像机的摄像机参数的值,包括:响应于未获取到上述账户自定义的上述3D模型的属性值,根据上述3D模型执行的动画文件的信息确定上述3D模型的属性值,或根据上述虚拟摄像机的摄像机参数的值确定上述3D模型的属性值。
[0014] 在一些实施例中,上述动画文件的信息包括动画文件的类型,上述动画文件的类型包括默认的动画文件、用于控制3D模型执行预定动作的动画文件、用于表征3D模型的状态的动画文件;上述根据上述3D模型执行的动画文件的信息确定上述3D模型的属性值,包括以下至少一种:响应于上述账户的3D模型执行的动画文件的信息为空,或账户的3D模型执行的动画文件的类型为默认的动画文件,确定上述账户的3D模型的属性值为隐藏,上述账户当前通讯对象的3D模型的属性值为非隐藏;响应于上述账户当前通讯对象的3D模型执行的动画文件的类型为用于控制3D模型执行预定动作的动画文件,且上述账户的3D模型执行的动画文件的类型为用于表征3D模型的状态的动画文件,或用于控制3D模型执行预定动作的动画文件,获取上述账户的3D模型执行的动画文件和/或上述账户当前通讯对象的3D模型执行的动画文件关联的3D模型的属性值,根据所获取的属性值确定上述账户的3D模型的属性值和上述账户当前通讯对象的3D模型的属性值。
[0015] 在一些实施例中,上述根据上述虚拟摄像机的摄像机参数的值确定上述3D模型的属性值,包括以下至少一种:响应于确定出上述虚拟摄像机的摄像机参数为上述摄像机参数的缺省值,确定上述账户的3D模型的属性值为隐藏,上述账户当前通讯对象的3D模型的属性值为非隐藏;响应于确定出上述虚拟摄像机的摄像机参数不为上述摄像机参数的缺省值,根据上述虚拟摄像机的摄像机参数确定上述虚拟摄像机用于拍摄的3D模型,若所确定出的3D模型不包括上述账户的3D模型,确定上述账户的3D模型的属性值为隐藏。
[0016] 第二方面,本申请提供了一种用于显示动画的装置,上述装置包括:查询单元,用于查询登陆目标通讯应用的账户的3D模型信息以及上述账户当前通讯对象的3D模型信息;导入单元,用于获取所查询的3D模型信息对应的3D模型文件,并将上述3D模型文件导入预先建立的3D动画的场景;设置单元,用于根据以下信息项中的至少一项设置上述场景中的虚拟摄像机:上述账户自定义的摄像机参数的值、上述场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值;显示单元,用于在上述目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。
[0017] 在一些实施例中,上述设置单元,进一步配置用于:判断是否获取到上述账户自定义的摄像机参数的值;如果是,则根据上述账户自定义的摄像机参数的值设置上述场景中的虚拟摄像机;如果否,则响应于获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述3D模型执行的动画文件关联的摄像机参数的值设置上述场景中的虚拟摄像机,响应于未获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机。
[0018] 在一些实施例中,上述摄像机参数的缺省值是根据以下至少一项确定的:上述账户的3D模型的位置、上述账户的3D模型的尺寸、上述账户当前通讯对象的3D模型的位置、上述账户当前通讯对象的3D模型的尺寸;以及上述设置单元,进一步配置用于:根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机,使得上述虚拟摄像机用于拍摄上述账户当前通讯对象的3D模型的正面。
[0019] 在一些实施例中,上述摄像机参数的缺省值包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值,其中,上述虚拟摄像机的位置的缺省值包括上述账户的3D模型的后上方区域,当上述账户的3D模型为人物模型时,上述虚拟摄像机的位置的缺省值包括上述人物模型肩部的后上方区域,上述虚拟摄像机的朝向的缺省值包括朝着上述账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄上述账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖上述账户当前通讯对象的3D模型的几何形状。
[0020] 在一些实施例中,上述场景还包括以下节点中的至少一项:背景节点、灯光节点、道具节点、倒影节点、声音节点;以及上述装置还包括:节点的参数设置单元,用于根据以下信息项中的至少一项设置上述节点的参数:上述账户自定义的节点参数的值、上述账户当前通讯对象设置的节点参数的值、上述3D模型执行的动画文件关联的节点参数的值、上述节点参数的缺省值。
[0021] 在一些实施例中,上述节点的参数设置单元,包括:发送子单元,用于向上述目标通讯应用的服务器发送场景同步请求,其中,上述同步请求包括请求同步的通讯对象的标识,使得上述服务器获取并下发上述标识对应的通讯对象设置的节点参数的值;接收子单元,用于接收上述服务器下发的节点参数的值;同步子单元,用于将上述节点的参数的值同步为所接收的节点参数的值。
[0022] 在一些实施例中,上述场景中包括至少两个摄像机参数的值不完全相同的虚拟摄像机,上述目标通讯应用界面包括至少两个视窗;以及上述显示单元,进一步配置用于:在上述至少两个视窗中分别显示所设置的虚拟摄像机采集到的动画。
[0023] 在一些实施例中,上述装置还包括:属性值确定单元,用于根据以下信息项中的至少一项确定上述3D模型的属性值:上述账户自定义的上述3D模型的属性值、上述3D模型执行的动画文件的信息、上述虚拟摄像机的摄像机参数的值。
[0024] 在一些实施例中,上述3D模型的属性值包括隐藏或非隐藏;以及上述属性值确定单元,进一步配置用于:响应于未获取到上述账户自定义的上述3D模型的属性值,根据上述3D模型执行的动画文件的信息确定上述3D模型的属性值,或根据上述虚拟摄像机的摄像机参数的值确定上述3D模型的属性值。
[0025] 在一些实施例中,上述动画文件的信息包括动画文件的类型,上述动画文件的类型包括默认的动画文件、用于控制3D模型执行预定动作的动画文件、用于表征3D模型的状态的动画文件;上述属性值确定单元,进一步配置用于:响应于上述账户的3D模型执行的动画文件的信息为空,或上述账户的3D模型执行的动画文件的类型为默认的动画文件,确定上述账户的3D模型的属性值为隐藏,上述账户当前通讯对象的3D模型的属性值为非隐藏;响应于上述账户当前通讯对象的3D模型执行的动画文件的类型为用于控制3D模型执行预定动作的动画文件,且上述账户的3D模型执行的动画文件的类型为用于表征3D模型的状态的动画文件,或用于控制3D模型执行预定动作的动画文件,获取上述账户的3D模型执行的动画文件和/或上述账户当前通讯对象的3D模型执行的动画文件关联的3D模型的属性值,根据所获取的属性值确定上述账户的3D模型的属性值和上述账户当前通讯对象的3D模型的属性值。
[0026] 在一些实施例中,上述属性值确定单元,进一步配置用于:响应于确定出上述虚拟摄像机的摄像机参数为上述摄像机参数的缺省值,确定上述账户的3D模型的属性值为隐藏,上述账户当前通讯对象的3D模型的属性值为非隐藏;响应于确定出上述虚拟摄像机的摄像机参数不为上述摄像机参数的缺省值,根据上述虚拟摄像机的摄像机参数确定上述虚拟摄像机用于拍摄的3D模型,若所确定出的3D模型不包括上述账户的3D模型,确定上述账户的3D模型的属性值为隐藏。
[0027] 本申请提供的用于显示动画的方法和装置,通过查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息,获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景,而后根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值,最后在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画,提高了动画显示的灵活性。
附图说明
[0028] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0029] 图1是本申请可以应用于其中的示例性系统架构图;
[0030] 图2是根据本申请的用于显示动画的方法的一个实施例的流程图
[0031] 图3A,图3B,图3C,图3D,图3E是根据本申请的用于显示动画的方法的应用场景的示意图;
[0032] 图4是根据本申请的用于显示动画的方法的又一个实施例的流程图;
[0033] 图5是根据本申请的用于显示动画的方法的再一个实施例的流程图;
[0034] 图6是根据本申请的用于显示动画的方法的又一个应用场景的示意图;
[0035] 图7是根据本申请的用于显示动画的装置的一个实施例的结构示意图;
[0036] 图8是适于用来实现本申请实施例的终端的计算机系统的结构示意图。

具体实施方式

[0037] 下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0038] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0039] 图1示出了可以应用本申请的用于显示动画的方法或装置的实施例的示例性系统架构100。
[0040] 如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供传输链路的介质。网络104可以包括各种连接类型,例如有线、无线传输链路或者光纤电缆等等。
[0041] 用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种需要进行动画显示的应用,例如,即时通讯类应用、浏览器类应用、电子商务类应用等。
[0042] 终端设备101、102、103可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
[0043] 服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上安装的即时通讯类应用提供支持的后台服务器。服务器105中可以存储目标通讯应用的账户的3D模型信息、好友信息以及通讯端口等信息。终端设备101、102、103可以首先查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息,获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景,而后根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值,最后在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。
[0044] 需要说明的是,本申请实施例所提供的用于显示动画的方法一般由终端设备101、102、103执行,相应地,用于显示动画的装置一般设置于终端设备101、102、103中。
[0045] 应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0046] 请参考图2,其示出了根据本申请的用于显示动画的方法的一个实施例的流程200。需要说明的是,本申请实施例所提供的用于显示动画的方法一般由图1中的终端设备
101、102、103执行。该方法包括以下步骤:
[0047] 步骤201,查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息。
[0048] 在本实施例中,用于显示动画的方法运行于其上的电子设备(例如图1所示的终端)可以首先查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息。目标通讯应用即上述电子设备中安装的带有显示动画的功能的通讯应用。账户的3D模型信息可以是用户在注册账户时,或注册完成后在预设的备选3D模型中选择的3D模型的信息,也可以是根据用户输入的文字或图像信息个性化的生成的账户的3D模型的信息,本发明对此不做限定,生成的3D模型的信息或用户选择的3D模型的信息可以记录在本地或通讯应用的后端服务器中,以供后续查询。
[0049] 步骤202,获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景。
[0050] 在本实施例中,上述电子设备可以获取步骤201中查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景。3D模型文件是指构建3D模型所需要的资源文件,包括骨骼文件、网格文件等,3D模型文件可以存储在通讯应用的后端服务器中,也可以缓存在终端中,上述电子设备可以先确定本地是否存储有所查询的3D模型信息对应的3D模型文件,如果没有,则可以通过网络请求的方式获取目标通讯应用的后端服务器中存储的3D模型文件。3D动画的场景类似于软件的界面,虚拟角色、虚拟物品等虚拟物体都需要在这个场景上创建,而后依托该场景进行显示,场景中可以创建任意元素(名字)的节点,给节点添加相应的组件,节点就拥有相应的行为。将3D模型文件导入预先建立的3D动画的场景后,场景中包括了登陆目标通讯应用的账户的3D模型以及账户当前通讯对象的3D模型,3D模型可以是虚拟人物,即本地用户与其通讯对象的三维化身
[0051] 在本实施例的一些可选的实现方式中,本地用户与其通讯对象的三维化身的行为同步。三维化身行为的指令信息为定义好的一段文本数据,可以根据即时通讯协议,在上述电子设备与其通讯对象登陆的设备之间进行传输,以实现在不同设备间的三维化身行为同步。指令信息可以用于指示己(对)方执行何种动作、指示己(对)方采用何种行为策略等。其中,行为策略是一种人工智能,三维化身可以根据所处的环境和相应指令,智能选择一种行为,可以通过碰撞检测等实现。如指令要求化身从A点走到B点,如果没有任何阻碍,化身会在A点和B点之间选择一条最近的路并走过去。但如果A点和B点之间有一个障碍物,则化身会在碰到障碍物时,智能选择如何绕过障碍物。
[0052] 步骤203,根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值。
[0053] 在本实施例中,上述电子设备可以根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值。设置虚拟摄像机可以是在场景中创建出一个摄像机节点或修改场景中已存在的摄像机节点的摄像机参数,虚拟摄像机的摄像机参数可以包括以下至少一项:虚拟摄像机的位置、虚拟摄像机的朝向、虚拟摄像机的视野、虚拟摄像机的焦距。需要说明的是,上述电子设备与其通讯对象登陆的设备的动画场景中,除了3D模型,其余节点的设置都可以是独立的,例如,上述电子设备与其通讯对象登陆的设备对于虚拟摄像机的设置可以是不同的,即本地用户与其通讯对象可通过不同视角观察同一动画。
[0054] 在本实施例的一些可选的实现方式中,可以先判断是否获取到账户自定义的摄像机参数的值;如果是,则根据账户自定义的摄像机参数的值设置场景中的虚拟摄像机;如果否,则响应于获取到3D模型执行的动画文件关联的摄像机参数的值,根据3D模型执行的动画文件关联的摄像机参数的值设置场景中的虚拟摄像机,响应于未获取到3D模型执行的动画文件关联的摄像机参数的值,根据摄像机参数的缺省值设置场景中的虚拟摄像机。也可以对一些特殊的动画文件关联的摄像机参数的值设置最高的优先级,即使获取到账户自定义的摄像机参数的值,为了保证动画的观看效果也依然根据3D模型执行的动画文件关联的摄像机参数的值设置场景中的虚拟摄像机。
[0055] 在本实施例的一些可选的实现方式中,可以根据摄像机参数的缺省值设置场景中的虚拟摄像机,使得虚拟摄像机用于拍摄账户当前通讯对象的3D模型的正面,摄像机参数的缺省值可以是根据以下至少一项确定的:账户的3D模型的位置、账户的3D模型的尺寸、账户当前通讯对象的3D模型的位置、账户当前通讯对象的3D模型的尺寸。
[0056] 在本实施例的一些可选的实现方式中,摄像机参数的缺省值可以包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值,其中,虚拟摄像机的位置的缺省值包括账户的3D模型的后上方区域,当账户的3D模型为人物模型时,虚拟摄像机的位置的缺省值包括人物模型肩部的后上方区域,虚拟摄像机的朝向的缺省值包括朝着账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖账户当前通讯对象的3D模型的几何形状。
[0057] 步骤204,在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。
[0058] 在本实施例中,上述电子设备可以在目标通讯应用界面中显示步骤203中设置的虚拟摄像机采集到的动画。显示虚拟摄像机采集到的动画即将构建好的3D物体显示在2D屏幕坐标上,可以现将世界坐标向相机坐标映射,再将其投影到投影平面,最后将投影坐标系转换至图像(也叫像素)坐标系,在2D屏幕上进行显示。
[0059] 在本实施例的一些可选的实现方式中,场景还包括以下节点中的至少一项:背景节点、灯光节点、道具节点、倒影节点、声音节点。可以根据以下信息项中的至少一项设置节点的参数:账户自定义的节点参数的值、账户当前通讯对象设置的节点参数的值、3D模型执行的动画文件关联的节点参数的值、节点参数的缺省值。用户可以将自己喜欢的音乐和图像添加至相应节点,作为动画场景中的背景声音和背景图像,还可以选择是否在当前场景中加入倒影节点、道具节点等,道具节点可以包括宠物、植物等的3D模型及其对应的行动组件。系统也可以根据用户当前所处的真实环境智能设置场景,例如白天,夜晚,晴天,下等。上述节点可以使动画更加真实、丰富,增加了动画的趣味性,有助于气氛的营造。
[0060] 上述电子设备本地用户与其通讯对象对于上述节点等聊天场景节点的设置可以相同也可以不相同。若根据账户当前通讯对象设置的节点参数的值设置节点的参数,即同步上述电子设备本地用户与其通讯对象的聊天场景,同步可以通过多种方法来实施。例如,在基于节点组件的三维编程框架下,同步发起方的设备记录场景的所有聊天场景节点组件参数。记录的信息根据网络协议,上传到服务器。同步接收方也根据对应的网络协议,从服务器下载这部分记录的信息,并解析加载到自己的场景中。如此,可以更好地模拟现实中聊天的场景,增加用户互动体验的真实性。
[0061] 在本实施例的一些可选的实现方式中,可以向目标通讯应用的服务器发送场景同步请求,其中,同步请求包括请求同步的通讯对象的标识,使得服务器获取并下发标识对应的通讯对象设置的节点参数的值;接收服务器下发的节点参数的值;将节点的参数的值同步为所接收的节点参数的值。通讯对象的标识可以是通讯对象的账户名,IP地址等可唯一标识通讯对象的信息。当上述电子设备的通讯对象多于一个时,可以采用问询的方式,让用户自行选择是否使用以及使用哪个用户的聊天场景,再根据用户的输入向目标通讯应用的服务器发送场景同步请求。
[0062] 在本实施例的一些可选的实现方式中,场景中可以包括至少两个摄像机参数的值不完全相同的虚拟摄像机,目标通讯应用界面可以包括至少两个视窗,可以在至少两个视窗中分别显示所设置的虚拟摄像机采集到的动画。例如,为了满足用户获知其通讯对象是如何观察自己的需求,系统可为用户定义多视窗观察化身的方案。即除正常设置的主视窗外另设视窗,另设的视窗的虚拟摄像机的摄像机参数与其各个通讯对象的主视窗对应的虚拟摄像机的摄像机参数同步。或者,为了使用户可以在同一时刻从不同角度观察和理解化身的行为,另设视窗的虚拟摄像机的数量和摄像机参数也可以由用户自行设置,从而更好地进行通讯和娱乐。各个视窗在目标通讯应用界面的排列方式可以是层叠关系、并列关系,也可以根据需要出现和隐藏,取决于业务设计。
[0063] 继续参见图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”的聊天界面中的三维聊天场景。
[0064] 本申请的上述实施例提供的方法通过查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息,获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景,而后根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值,最后在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画,提高了动画显示的灵活性。
[0065] 进一步参考图4,其示出了用于显示动画的方法的又一个实施例的流程400。该用于显示动画的方法的流程400,包括以下步骤:
[0066] 步骤401,查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息。
[0067] 在本实施例中,用于显示动画的方法运行于其上的电子设备(例如图1所示的终端)可以首先查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息。
[0068] 步骤402,获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景。
[0069] 在本实施例中,上述电子设备可以获取步骤401中查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景。
[0070] 步骤403,判断是否获取到账户自定义的摄像机参数的值,如果是,则进入步骤404,如果否,则进入步骤405。
[0071] 在本实施例中,上述电子设备可以判断是否获取到账户自定义的摄像机参数的值,如果是,则进入步骤404,如果否,则进入步骤405。账户自定义的摄像机参数的值可以是本次通讯初始化时,上述电子设备接收到的用户对于摄像机参数的个性化设置,也可以是通讯过程中用户对于观察视角的调整操作产生的摄像机参数的值,例如,用户可以通过滑动、缩放等常用的手势操作来调整的摄像机参数。
[0072] 步骤404,根据账户自定义的摄像机参数的值设置场景中的虚拟摄像机。
[0073] 在本实施例中,上述电子设备可以在步骤403中判断出获取到账户自定义的摄像机参数的值时,根据账户自定义的摄像机参数的值设置场景中的虚拟摄像机。账户自定义的摄像机参数可以只是摄像机参数的一部分,例如,用户仅通过缩放操作改变了虚拟摄像机的视野,或仅通过滑动操作改变了虚拟摄像机的朝向,那么虚拟摄像机的其他摄像机参数的值可以依旧使用3D模型执行的动画文件关联的摄像机参数的值,或摄像机参数的缺省值,如果其他摄像机参数的值与改变的摄像机参数的值存在关联关系,同样也可以按照预先设置的算法同步调整其他摄像机参数的值。
[0074] 步骤405,判断是否获取到3D模型执行的动画文件关联的摄像机参数的值,如果是,则进入步骤406,如果否,则进入步骤407。
[0075] 在本实施例中,上述电子设备可以在步骤403中判断出未获取到账户自定义的摄像机参数的值时,判断是否获取到3D模型执行的动画文件关联的摄像机参数的值,如果是,则进入步骤406,如果否,则进入步骤407。3D模型执行的动画文件关联的摄像机参数的值可以是3D模型执行的动画文件的标签信息中携带的摄像机参数的值。动画是由多组成的,并通过动画帧来表现动画内容。动画中表达内容的情节会有变化,因此表现动画帧的镜头也需要根据动画的播放进度产生相应的变化。例如,动画为“虚拟人物a从桌子上拿起一杯,喝完杯子里的水,将水杯放回桌子”,此时为了更好的体现动画内容,可以将虚拟人物a从桌子上拿起一杯水和将水杯放回桌子相关的动画帧关联的摄像机参数的值设置为用于拍摄远景的值,将a喝水相关的动画帧关联的摄像机参数的值设置为用于拍摄近景的值,以突显虚拟人物a喝水的动作。
[0076] 步骤406,根据3D模型执行的动画文件关联的摄像机参数的值设置场景中的虚拟摄像机。
[0077] 在本实施例中,上述电子设备在步骤405中判断出获取到3D模型执行的动画文件关联的摄像机参数的值时,可以根据3D模型执行的动画文件关联的摄像机参数的值设置场景中的虚拟摄像机,以此可以获得更好的动画显示效果。
[0078] 步骤407,根据摄像机参数的缺省值设置场景中的虚拟摄像机。
[0079] 在本实施例中,上述电子设备可以在步骤405中判断出未获取到3D模型执行的动画文件关联的摄像机参数的值时,根据摄像机参数的缺省值设置场景中的虚拟摄像机。摄像机参数的缺省值是预先确定好的可以使用户观看视角较佳的值,一般情况下,用户是从自己三维化身的角度,观察当前通讯对象的3D模型的正面,这样代入感较强。摄像机参数的缺省值可以包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值。摄像机参数的缺省值可以是根据以下至少一项确定的:账户的3D模型的位置、账户的3D模型的尺寸、账户当前通讯对象的3D模型的位置、账户当前通讯对象的3D模型的尺寸。虚拟摄像机的位置的缺省值可以包括账户的3D模型的后上方区域,当账户的3D模型为人物模型时,虚拟摄像机的位置的缺省值包括人物模型肩部的后上方区域,虚拟摄像机的朝向的缺省值包括朝着账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖账户当前通讯对象的3D模型的几何形状。
[0080] 步骤408,在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。
[0081] 在本实施例中,上述电子设备可以在目标通讯应用界面中显示步骤404、步骤406或步骤407设置的虚拟摄像机采集到的动画。对于采集到的动画的显示,可以是在预先建立的视窗中进行显示,视窗的数量和排列方式可以根据用户定义而设置,每个视窗可以显示不同虚拟摄像机采集到的动画。
[0082] 从图4中可以看出,与图2对应的实施例相比,本实施例中的用于显示动画的方法的流程400突出了确定虚拟相机设置依据的具体步骤。由此,本实施例描述的方案在提高了动画显示的灵活性的同时,也提升了动画的显示效果。
[0083] 进一步参考图5,其示出了用于显示动画的方法的又一个实施例的流程500。该用于显示动画的方法的流程500,包括以下步骤:
[0084] 步骤501,查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息。
[0085] 在本实施例中,用于显示动画的方法运行于其上的电子设备(例如图1所示的终端)可以首先查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息。
[0086] 步骤502,获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景。
[0087] 在本实施例中,上述电子设备可以获取步骤501中查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景。
[0088] 步骤503,根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值。
[0089] 在本实施例中,上述电子设备可以根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、场景中的3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值。
[0090] 步骤504,根据以下信息项中的至少一项确定3D模型的属性值:账户自定义的3D模型的属性值、3D模型执行的动画文件的信息、虚拟摄像机的摄像机参数的值。
[0091] 在本实施例中,上述电子设备可以根据以下信息项中的至少一项确定3D模型的属性值:账户自定义的3D模型的属性值、3D模型执行的动画文件的信息、虚拟摄像机的摄像机参数的值。3D模型的属性可以用于表征3D模型显示状态,例如3D模型是否隐藏,3D模型的显示位置、3D模型的透明度。3D模型包括账户的3D模型和至少一个账户当前通讯对象的3D模型。账户可以自定义其3D模型,或其当前通讯对象的3D模型的属性。3D模型执行的动画文件的标签信息中也可以携带用于确定3D模型的属性的信息,同样也可以根据3D模型执行的动画文件的类型和虚拟摄像机的摄像机参数确定3D模型的属性值。可以根据上述信息项中的任一项确定3D模型的属性值,也可以为上述信息项设置优先级,例如,优先根据账户自定义的3D模型的属性值确定3D模型的属性值。
[0092] 在本实施例的一些可选的实现方式中,3D模型的属性值包括隐藏或非隐藏,可以响应于未获取到账户自定义的3D模型的属性值,根据3D模型执行的动画文件的信息确定3D模型的属性值,或根据虚拟摄像机的摄像机参数的值确定3D模型的属性值。
[0093] 在本实施例的一些可选的实现方式中,动画文件的信息包括动画文件的类型,动画文件的类型包括默认的动画文件、用于控制3D模型执行预定动作的动画文件、用于表征3D模型的状态的动画文件;根据3D模型执行的动画文件的信息确定3D模型的属性值,包括以下至少一种:响应于账户的3D模型执行的动画文件的信息为空,或账户的3D模型执行的动画文件的类型为默认的动画文件,确定账户的3D模型的属性值为隐藏,账户当前通讯对象的3D模型的属性值为非隐藏;响应于账户当前通讯对象的3D模型执行的动画文件的类型为用于控制3D模型执行预定动作的动画文件,且账户的3D模型执行的动画文件的类型为用于表征3D模型的状态的动画文件,或用于控制3D模型执行预定动作的动画文件,获取账户的3D模型执行的动画文件和/或账户当前通讯对象的3D模型执行的动画文件关联的3D模型的属性值,根据所获取的属性值确定账户的3D模型的属性值和账户当前通讯对象的3D模型的属性值。
[0094] 在本实现方式中,默认的动画文件即非用户指定的动画文件,例如,用户进入通讯界面后,还未设置状态、选择预定动作或发送信息时,3D模型默认执行的动画文件。与其相对应的,用于控制3D模型执行预定动作的动画文件、用于表征3D模型的状态的动画文件,均为响应于用户的选择操作而执行的动画文件。3D模型的状态可以是用户设置的用于表征用户情感的状态,例如,得意、开心、伤心、生气,用户设置其3D模型的状态后,其3D模型会持续处于该状态,具体的表现可以是在没有更高优先级的动画文件需要执行的情况下,持续执行该状态对应的动画,直到用户停止该状态。
[0095] 在本实现方式中,3D模型的属性值可以默认为非隐藏,在一些特定的情况下可以修改为隐藏,以更好的展示交互内容。例如,账户的3D模型执行的动画文件的信息为空说明此时账户的3D模型没有发送交互消息,由于用户与其他用户交互时,更希望看到对方的3D模型和展现的内容,所以确定账户的3D模型的属性值为隐藏。
[0096] 在本实现方式中,用于控制3D模型执行预定动作的动画文件,可以是3D模型主动执行预定动作的动画文件,也可以是配合执行预定动作的动画文件,例如,账户的3D模型获取到了用户发出的用于指示其跳舞的动画文件,其通讯对象的3D模型获取到了用于指示与其共舞的动画文件,账户的3D模型执行的动画文件和/或其通讯对象的3D模型执行的动画文件的标签信息中可以包括用于指示其通讯对象的3D模型在没有共舞动作时隐藏的信息,以更好的展示该账户的3D模型的跳舞动画。
[0097] 在本实现方式中,响应于账户当前通讯对象的3D模型执行的动画文件的类型为用于控制3D模型执行预定动作的动画文件,且账户的3D模型执行的动画文件的类型为用于表征3D模型的状态的动画文件,可以获取账户的3D模型执行的动画文件和/或账户当前通讯对象的3D模型执行的动画文件关联的3D模型的属性值,根据所获取的属性值确定账户的3D模型的属性值和账户当前通讯对象的3D模型的属性值。例如,当前通讯对象的3D模型执行的动画文件中有一些动画帧的重要程度较较高,与此动画文件关联的3D模型的属性值可以用于指示在这些帧中账户的3D模型的属性值为隐藏,当前通讯对象的3D模型的属性值为非隐藏,当前通讯对象的3D模型执行的动画文件中有一些动画帧的重要程度较不高,与此动画文件关联的3D模型的属性值可以用于指示在这些帧中账户的3D模型的属性值为非隐藏。
[0098] 在本实现方式中,用于表征3D模型的状态的动画文件中也可能存在一些动画帧的重要程度较较高,与此动画文件关联的3D模型的属性值也可以用于指示在这些帧中执行此动画文件的3D模型的属性值为非隐藏。若账户的3D模型执行的动画文件和账户当前通讯对象的3D模型执行的动画文件关联的3D模型的属性值之间存在冲突,可以根据实际需要设置优先级,例如,优先根据用于控制3D模型执行预定动作的动画文件关联的3D模型的属性值确定账户的3D模型的属性值和账户当前通讯对象的3D模型的属性值。
[0099] 在本实现方式中,若动画文件的标签信息中没有携带的用于确定3D模型的属性的信息,也可以根据实际设置一些规则来确定3D模型的属性值,例如,账户的3D模型执行的动画文件,时长10s,其通讯对象的3D模型的状态为开心,可以在第5s将其通讯对象的3D模型的属性设置为非隐藏,同时控制虚拟摄像机拍摄其通讯对象的3D模型。
[0100] 在本实施例的一些可选的实现方式中,根据虚拟摄像机的摄像机参数的值确定3D模型的属性值,包括以下至少一种:响应于确定出虚拟摄像机的摄像机参数为摄像机参数的缺省值,确定账户的3D模型的属性值为隐藏,账户当前通讯对象的3D模型的属性值为非隐藏;响应于确定出虚拟摄像机的摄像机参数不为摄像机参数的缺省值,根据虚拟摄像机的摄像机参数确定虚拟摄像机用于拍摄的3D模型,若所确定出的3D模型不包括账户的3D模型,确定账户的3D模型的属性值为隐藏。
[0101] 在本实现方式中,虚拟摄像机的摄像机参数为摄像机参数的缺省值,或所确定出的3D模型不包括账户的3D模型,说明账户的3D模型不是用户关注的对象,不隐藏账户的3D模型可能会导致画面中出现账户的3D模型的一部分,影响画面的显示效果,例如,虚拟摄像机的位置在3D模型肩部的后上方区域,画面中可能出现3D模型肩部。
[0102] 步骤505,在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。
[0103] 在本实施例中,上述电子设备可以在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。
[0104] 从图5中可以看出,与图2对应的实施例相比,本实施例中的用于显示动画的方法的流程500突出了确定3D模型属性值的具体步骤。由此,本实施例描述的方案在提高了动画显示的灵活性的同时,也提升了动画的显示效果。
[0105] 继续参见图6。图6是根据本实施例的用于显示动画的方法的应用场景的示意图。图6的应用场景中,终端A、终端B通过即时通讯应用建立了通讯连接,图6为终端A的界面示意图界面的上半部分为动画显示区域,下半部分为输入部分。终端A虚拟摄像机是根据摄像机参数的缺省值设置的,即虚拟摄像机的位置在人物模型肩部的后上方区域,拍摄其通讯对象的3D模型的正面,为了更好的画面效果,终端A控制的3D模型的属性值为隐藏。
[0106] 进一步参考图7,作为对上述各图所示方法的实现,本申请提供了一种用于显示动画的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0107] 如图7所示,本实施例上述的用于显示动画的装置700包括:查询单元701、导入单元702、设置单元703和显示单元704。其中,查询单元701,用于查询登陆目标通讯应用的账户的3D模型信息以及上述账户当前通讯对象的3D模型信息;导入单元702,用于获取所查询的3D模型信息对应的3D模型文件,并将上述3D模型文件导入预先建立的3D动画的场景;设置单元703,用于根据以下信息项中的至少一项设置上述场景中的虚拟摄像机:上述账户自定义的摄像机参数的值、上述3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值;显示单元704,用于在上述目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。
[0108] 在本实施例中,用于显示动画的装置700中查询单元701、导入单元702、设置单元703和显示单元704的具体处理可参看图2对应实施例中的步骤201、步骤202、步骤203和步骤204的实现方式的相关描述,在此不再赘述。
[0109] 在本实施例的一些可选的实现方式中,上述设置单元703,进一步配置用于:判断是否获取到上述账户自定义的摄像机参数的值;如果是,则根据上述账户自定义的摄像机参数的值设置上述场景中的虚拟摄像机;如果否,则响应于获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述3D模型执行的动画文件关联的摄像机参数的值设置上述场景中的虚拟摄像机,响应于未获取到上述3D模型执行的动画文件关联的摄像机参数的值,根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机。
[0110] 在本实施例的一些可选的实现方式中,上述摄像机参数的缺省值是根据以下至少一项确定的:上述账户的3D模型的位置、上述账户的3D模型的尺寸、上述账户当前通讯对象的3D模型的位置、上述账户当前通讯对象的3D模型的尺寸;以及上述设置单元703,进一步配置用于:根据上述摄像机参数的缺省值设置上述场景中的虚拟摄像机,使得上述虚拟摄像机用于拍摄上述账户当前通讯对象的3D模型的正面。
[0111] 在本实施例的一些可选的实现方式中,上述摄像机参数的缺省值包括以下至少一项:虚拟摄像机的位置的缺省值、虚拟摄像机的朝向的缺省值、虚拟摄像机的焦距的缺省值、虚拟摄像机的视野的缺省值,其中,上述虚拟摄像机的位置的缺省值包括上述账户的3D模型的后上方区域,当上述账户的3D模型为人物模型时,上述虚拟摄像机的位置的缺省值包括上述人物模型肩部的后上方区域,上述虚拟摄像机的朝向的缺省值包括朝着上述账户当前通讯对象的3D模型的正面的方向,虚拟摄像机的焦距的缺省值包括清晰拍摄上述账户当前通讯对象的3D模型的焦距,虚拟摄像机的视野的缺省值包括覆盖上述账户当前通讯对象的3D模型的几何形状。
[0112] 在本实施例的一些可选的实现方式中,上述场景还包括以下节点中的至少一项:背景节点、灯光节点、道具节点、倒影节点、声音节点;以及上述装置还包括:节点的参数设置单元,用于根据以下信息项中的至少一项设置上述节点的参数:上述账户自定义的节点参数的值、上述账户当前通讯对象设置的节点参数的值、上述3D模型执行的动画文件关联的节点参数的值、上述节点参数的缺省值。
[0113] 在本实施例的一些可选的实现方式中,上述节点的参数设置单元,包括:发送子单元,用于向上述目标通讯应用的服务器发送场景同步请求,其中,上述同步请求包括请求同步的通讯对象的标识,使得上述服务器获取并下发上述标识对应的通讯对象设置的节点参数的值;接收子单元,用于接收上述服务器下发的节点参数的值;同步子单元,用于将上述节点的参数的值同步为所接收的节点参数的值。
[0114] 在本实施例的一些可选的实现方式中,上述场景中包括至少两个摄像机参数的值不完全相同的虚拟摄像机,上述目标通讯应用界面包括至少两个视窗;以及上述显示单元704,进一步配置用于:在上述至少两个视窗中分别显示所设置的虚拟摄像机采集到的动画。
[0115] 在本实施例的一些可选的实现方式中,上述装置还包括:属性值确定单元,用于根据以下信息项中的至少一项确定上述3D模型的属性值:上述账户自定义的上述3D模型的属性值、上述3D模型执行的动画文件的信息、上述虚拟摄像机的摄像机参数的值。
[0116] 在本实施例的一些可选的实现方式中,上述3D模型的属性值包括隐藏或非隐藏;以及上述属性值确定单元,进一步配置用于:响应于未获取到上述账户自定义的上述3D模型的属性值,根据上述3D模型执行的动画文件的信息确定上述3D模型的属性值,或根据上述虚拟摄像机的摄像机参数的值确定上述3D模型的属性值。
[0117] 在本实施例的一些可选的实现方式中,上述动画文件的信息包括动画文件的类型,上述动画文件的类型包括默认的动画文件、用于控制3D模型执行预定动作的动画文件、用于表征3D模型的状态的动画文件;上述属性值确定单元,进一步配置用于:响应于上述账户的3D模型执行的动画文件的信息为空,或账户的3D模型执行的动画文件的类型为默认的动画文件,确定上述账户的3D模型的属性值为隐藏,上述账户当前通讯对象的3D模型的属性值为非隐藏;响应于上述账户当前通讯对象的3D模型执行的动画文件的类型为用于控制3D模型执行预定动作的动画文件,且上述账户的3D模型执行的动画文件的类型为用于表征
3D模型的状态的动画文件,或用于控制3D模型执行预定动作的动画文件,获取账户的3D模型执行的动画文件和/或账户当前通讯对象的3D模型执行的动画文件关联的3D模型的属性值,根据所获取的属性值确定上述账户的3D模型的属性值和上述账户当前通讯对象的3D模型的属性值。
[0118] 在本实施例的一些可选的实现方式中,上述属性值确定单元,进一步配置用于:响应于确定出上述虚拟摄像机的摄像机参数为上述摄像机参数的缺省值,确定上述账户的3D模型的属性值为隐藏,上述账户当前通讯对象的3D模型的属性值为非隐藏;响应于确定出上述虚拟摄像机的摄像机参数不为上述摄像机参数的缺省值,根据上述虚拟摄像机的摄像机参数确定上述虚拟摄像机用于拍摄的3D模型,若所确定出的3D模型不包括上述账户的3D模型,确定上述账户的3D模型的属性值为隐藏。
[0119] 下面参考图8,其示出了适于用来实现本申请实施例的终端的计算机系统800的结构示意图。
[0120] 如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
[0121] 以下部件连接至I/O接口805:包括键盘鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
[0122] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方法中限定的上述功能。
[0123] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0124] 描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括查询单元、导入单元、设置单元和显示单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,查询单元还可以被描述为“查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息”。
[0125] 作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:查询登陆目标通讯应用的账户的3D模型信息以及账户当前通讯对象的3D模型信息;获取所查询的3D模型信息对应的3D模型文件,并将3D模型文件导入预先建立的3D动画的场景;根据以下信息项中的至少一项设置场景中的虚拟摄像机:账户自定义的摄像机参数的值、3D模型执行的动画文件关联的摄像机参数的值、摄像机参数的缺省值;在目标通讯应用界面中显示所设置的虚拟摄像机采集到的动画。
[0126] 以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈