一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

骨骼动画处理方法及装置、电子设备、存储介质与流程

2021-09-10 18:55:00 来源:中国专利 TAG:骨骼 电子设备 装置 计算机 方法


1.本技术涉及计算机技术领域,特别是涉及骨骼动画处理方法及装置、电子设备、存储介质。


背景技术:

2.随着游戏项目数量的增长,一个工作室能够积累较多的美术资源,包括角色模型和骨骼资源以及动画。不同项目之间的角色蒙皮和骨骼结构一般具有很大的相似性,但并不完全相同。因此,不同项目之间的动画不能直接复用。传统的做法是基于新的角色蒙皮和骨骼结构重新制作对应的动画,这样的处理方式不能充分利用现有的动画资源,也比较浪费时间。
3.为了达到动画资源复用的目的,现有的一种解决方案是通过骨骼重定向的方式,将源骨骼模型的动画信息复用到目标骨骼模型中。但是该方案没有考虑蒙皮结构与骨骼结构之间的关系,具体地,由于源骨骼模型和目标骨骼模型一般不完全相同,导致目标骨骼模型中存在没有参与骨骼重定向的骨骼,当蒙皮结构附在目标骨骼模型中没有参与骨骼重定向的骨骼上时,直接采用上述骨骼重定向的方式容易使目标角色的动画出现畸形,因此不能满足目标角色动画的要求。
4.如图1所示,源手臂模型包括骨骼a和骨骼b,蒙皮结构附在骨骼a上;而目标手臂模型包括骨骼a、骨骼b和骨骼c,蒙皮结构附在骨骼c上,其目的在于控制手臂旋转的同时,能够移动骨骼c进行更加生动细腻的细节动画控制;例如,在移动手臂的同时手臂的肌肉可以进行微量的抖动。采用上述现有技术直接进行骨骼重定向的方式,会将骨骼a的动画信息传递给骨骼c,将骨骼b的动画信息传递给骨骼b,而骨骼c由于源手臂模型中没有对应的骨骼,因此,骨骼c没有动画信息,则保持不变,最终会导致如图所示的畸形。


技术实现要素:

5.鉴于上述问题,提出了本技术以便提供克服上述问题或者至少部分地解决上述问题的骨骼动画处理方法及装置、电子设备、存储介质,包括:
6.一种骨骼动画处理方法,所述方法包括:
7.获取源骨骼模型和目标骨骼模型的骨骼映射关系;
8.将所述源骨骼模型的动画信息按照所述骨骼映射关系传递给所述目标骨骼模型;
9.根据所述骨骼映射关系确定所述目标骨骼模型中的待处理骨骼,其中,所述待处理骨骼是所述目标骨骼模型中不存在所述骨骼映射关系的骨骼;
10.根据所述待处理骨骼在所述目标骨骼模型中的位置关系,确定所述待处理骨骼的兄弟骨骼;所述兄弟骨骼与所述待处理骨骼与同一个骨骼相连;
11.根据所述兄弟骨骼的特征确定所述待处理骨骼的动画信息。
12.可选地,所述目标骨骼模型中骨骼间的位置关系为树状结构关系,所述树状结构关系中的每个节点代表一个骨骼,所述根据所述待处理骨骼在所述目标骨骼模型中的位置
关系,确定所述待处理骨骼的兄弟骨骼,包括:
13.确定所述待处理骨骼对应的目标节点;
14.基于所述树状结构关系确定所述目标节点的父节点;
15.获取所述父节点的其他子节点,所述其他子节点为所述目标节点的兄弟节点,所述兄弟节点对应的骨骼为所述兄弟骨骼。
16.可选地,所述将所述源骨骼模型的动画信息按照所述骨骼映射关系传递给所述目标骨骼模型,包括:
17.确定所述骨骼映射关系中与所述源骨骼模型的源映射骨骼对应的所述目标骨骼模型的目标映射骨骼;
18.将根据所述源映射骨骼的动画信息传递给对应的所述目标映射骨骼。
19.可选地,所述兄弟骨骼的特征包括是否存在骨骼映射关系,所述根据所述兄弟骨骼的特征确定所述待处理骨骼的动画信息,包括:
20.当存在骨骼映射关系的兄弟骨骼的数量为0时,获取所述待处理骨骼的父骨骼的动画信息;所述父骨骼为所述父节点对应的骨骼;
21.采用反向运动学算法对所述父骨骼的动画信息进行处理得到所述待处理骨骼的动画信息。
22.可选地,所述兄弟骨骼的特征包括是否存在骨骼映射关系,所述根据所述兄弟骨骼的特征确定所述待处理骨骼的动画信息,包括:
23.当存在骨骼映射关系的兄弟骨骼的数量为1时,将存在所述骨骼映射关系的兄弟骨骼确定为第一目标兄弟骨骼;
24.确定所述待处理骨骼和所述第一目标兄弟骨骼的第一夹角;
25.将所述第一夹角和所述第一目标兄弟骨骼的动画信息传递给所述待处理骨骼,以确定所述待处理骨骼的动画信息。
26.可选地,所述兄弟骨骼的特征包括是否存在骨骼映射关系,所述根据所述兄弟骨骼的特征确定所述待处理骨骼的动画信息,包括:
27.当存在骨骼映射关系的兄弟骨骼的数量大于1时,将存在所述骨骼映射关系的兄弟骨骼确定为第二目标兄弟骨骼;
28.确定所述待处理骨骼和各个所述第二目标兄弟骨骼的第二夹角;
29.将各个所述第二夹角的比例关系和各个所述第二目标兄弟骨骼的动画信息传递给所述待处理骨骼,以确定所述待处理骨骼的动画信息。
30.可选地,在所述根据各个所述第二夹角的比例关系和各个所述第二目标兄弟骨骼的动画信息,确定所述待处理骨骼的动画信息之前,所述方法还包括:
31.分别判断各个所述第二夹角是否小于预设角度阈值;
32.若是,则忽略所述第二夹角小于所述预设角度阈值的第二目标兄弟骨骼。
33.一种骨骼动画处理装置,所述装置包括:
34.映射关系获取模块,用于获取源骨骼模型和目标骨骼模型的骨骼映射关系;
35.动画信息传递模块,用于将所述源骨骼模型的动画信息按照所述骨骼映射关系传递给所述目标骨骼模型;
36.待处理骨骼确定模块,用于根据所述骨骼映射关系确定所述目标骨骼模型中的待
处理骨骼,其中,所述待处理骨骼是所述目标骨骼模型中不存在所述骨骼映射关系的骨骼;
37.兄弟骨骼确定模块,用于根据所述待处理骨骼在所述目标骨骼模型中的位置关系,确定所述待处理骨骼的兄弟骨骼;所述兄弟骨骼与所述待处理骨骼与同一个骨骼相连;
38.目标动画信息确定模块,用于根据所述兄弟骨骼的特征确定所述待处理骨骼的动画信息。
39.可选地,所述目标骨骼模型中骨骼间的位置关系为树状结构关系,所述树状结构关系中的每个节点代表一个骨骼,所述兄弟骨骼确定模块604,包括:
40.目标节点确定模块,用于确定所述待处理骨骼对应的目标节点;
41.父节点确定模块,用于基于所述树状结构关系确定所述目标节点的父节点;
42.兄弟节点确定模块,用于获取所述父节点的其他子节点,所述其他子节点为所述目标节点的兄弟节点,所述兄弟节点对应的骨骼为所述兄弟骨骼。
43.可选地,所述动画信息传递模块,包括:
44.映射骨骼确定模块,用于确定所述骨骼映射关系中与所述源骨骼模型的源映射骨骼对应的所述目标骨骼模型的目标映射骨骼;
45.动画信息确定模块,用于将根据所述源映射骨骼的动画信息传递给对应的所述目标映射骨骼。
46.可选地,所述兄弟骨骼的特征包括是否存在骨骼映射关系,所述目标动画信息确定模块,包括:
47.第一策略确定模块,用于当存在骨骼映射关系的兄弟骨骼的数量为0时,获取所述待处理骨骼的父骨骼的动画信息;所述父骨骼为所述父节点对应的骨骼;
48.第一策略处理模块,用于采用反向运动学算法对所述父骨骼的动画信息进行处理得到所述待处理骨骼的动画信息。
49.可选地,所述兄弟骨骼的特征包括是否存在骨骼映射关系,所述目标动画信息确定模块,包括:
50.第二策略确定模块,用于当存在骨骼映射关系的兄弟骨骼的数量为1时,将存在所述骨骼映射关系的兄弟骨骼确定为第一目标兄弟骨骼;
51.第二策略夹角确定模块,用于确定所述待处理骨骼和所述第一目标兄弟骨骼的第一夹角;
52.第二策略处理模块,用于将所述第一夹角和所述第一目标兄弟骨骼的动画信息传递给所述待处理骨骼,以确定所述待处理骨骼的动画信息。
53.可选地,所述兄弟骨骼的特征包括是否存在骨骼映射关系,所述目标动画信息确定模块,包括:
54.第三策略确定模块,用于当存在骨骼映射关系的兄弟骨骼的数量大于1时,将存在所述骨骼映射关系的兄弟骨骼确定为第二目标兄弟骨骼;
55.第三策略夹角确定模块,用于确定所述待处理骨骼和各个所述第二目标兄弟骨骼的第二夹角;
56.第三策略处理模块,用于将各个所述第二夹角的比例关系和各个所述第二目标兄弟骨骼的动画信息传递给所述待处理骨骼,以确定所述待处理骨骼的动画信息。
57.可选地,所述目标动画信息确定模块,还包括:
58.第三策略夹角判断模块,用于分别判断各个所述第二夹角是否小于预设角度阈值;
59.第三策略兄弟骨骼确定模块,用于若所述第二夹角小于预设角度阈值,则忽略所述第二夹角小于所述预设角度阈值的第二目标兄弟骨骼。
60.一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的骨骼动画处理方法的步骤。
61.一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的骨骼动画处理方法的步骤。
62.本技术具有以下优点:
63.在本技术的实施例中,通过获取源骨骼模型和目标骨骼模型的骨骼映射关系;将所述源骨骼模型的动画信息按照所述骨骼映射关系传递给所述目标骨骼模型;根据骨骼映射关系确定目标骨骼模型中的待处理骨骼,其中,待处理骨骼是目标骨骼模型中不存在骨骼映射关系的骨骼;根据待处理骨骼在目标骨骼模型中的位置关系,确定待处理骨骼的兄弟骨骼;兄弟骨骼与待处理骨骼与同一个骨骼相连;根据所述兄弟骨骼的特征确定待处理骨骼的动画信息。本技术实施例可以复用源骨骼模型的动画信息,以减轻为目标骨骼模型制作动画的工作量,并基于多种场景考虑,根据待处理骨骼的兄弟骨骼的特征确定对应的处理方式,可以适应不同场景的要求,确保不存在骨骼映射关系的骨骼的动画效果,进而提高目标角色的动画效果。
附图说明
64.为了更清楚地说明本技术的技术方案,下面将对本技术的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
65.图1为现有技术的骨骼动画处理方法的实现效果示意图;
66.图2为本技术实施例的一种骨骼动画处理方法的步骤流程图;
67.图3为本技术实施例中源骨骼模型和目标骨骼模型之间的对应示意图;
68.图4为本技术实施例中当存在骨骼映射关系的兄弟骨骼的数量为1时,源骨骼模型和目标骨骼模型之间的对应示意图;
69.图5为本技术实施例中当存在骨骼映射关系的兄弟骨骼的数量大于1时,源骨骼模型和目标骨骼模型之间的对应示意图;
70.图6为本技术实施例的一种骨骼动画处理装置的结构框图。
具体实施方式
71.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
72.本技术实施例中的骨骼动画处理方法可以运行于终端设备或者服务器。其中,终端设备可以为本地终端设备。服务器服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、以及大数据和人工智能平台等基础云计算服务的云服务器。当骨骼动画处理方法运行于服务器时,可以为云游戏。
73.在一可选的实施方式中,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,游戏技能的取消释放方法的储存与运行是在云游戏服务器上完成的,云游戏客户端的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行游戏数据处理的终端设备为云端的云游戏服务器。在进行游戏时,玩家操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面。
74.在一可选的实施方式中,终端设备可以为本地终端设备。本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
75.参照图2,示出了本技术一实施例提供的一种骨骼动画处理方法的步骤流程示意图,本实施例的执行主体可以是骨骼动画处理装置,而骨骼动画处理装置可以认为是由软件和/或硬件方式构建而成,例如由程序代码构建的虚拟装置。该方法具体可以包括如下步骤:
76.步骤101,获取源骨骼模型和目标骨骼模型的骨骼映射关系;
77.步骤102,将所述源骨骼模型的动画信息按照所述骨骼映射关系传递给所述目标骨骼模型;
78.步骤103,根据所述骨骼映射关系确定所述目标骨骼模型中的待处理骨骼,其中,所述待处理骨骼是所述目标骨骼模型中不存在所述骨骼映射关系的骨骼;
79.步骤104,根据所述待处理骨骼在所述目标骨骼模型中的位置关系,确定所述待处理骨骼的兄弟骨骼;所述兄弟骨骼与所述待处理骨骼与同一个骨骼相连;
80.步骤105,根据所述兄弟骨骼的特征确定所述待处理骨骼的动画信息。
81.本技术实施例通过获取源骨骼模型和目标骨骼模型的骨骼映射关系;将所述源骨骼模型的动画信息按照所述骨骼映射关系传递给所述目标骨骼模型,可以实现源骨骼模型的动画信息的复用,提高资源的利用率和工作效率;根据骨骼映射关系确定目标骨骼模型中的待处理骨骼,其中,待处理骨骼是目标骨骼模型中不存在骨骼映射关系的骨骼;根据待处理骨骼在目标骨骼模型中的位置关系,确定待处理骨骼的兄弟骨骼;兄弟骨骼与待处理骨骼与同一个骨骼相连;根据兄弟骨骼的特征确定待处理骨骼的动画信息;本技术实施例基于多种场景考虑,根据待处理骨骼的兄弟骨骼的特征确定对应的处理方式,可以适应不
同场景的要求,确保不存在骨骼映射关系的骨骼的动画效果。
82.下面,将对本示例性实施例中骨骼动画处理方法作进一步地说明。
83.在步骤101中,获取源骨骼模型和目标骨骼模型的骨骼映射关系。
84.在本实施例中,源骨骼模型为预先设计好的虚拟对象的骨骼模型,其具有骨骼动画信息;例如,在先项目中的角色的骨骼模型,配置有对应的动画信息。目标骨骼模型是待配置动画信息的虚拟对象的骨骼模型,例如,可以是当前游戏角色的骨骼模型。
85.在具体实现中,可以预先确定并存储源骨骼模型和目标骨骼模型的骨骼映射关系。其存储位置可以是在骨骼动画处理装置中,也可以是在其他可以与骨骼动画处理装置通信连接的装置中。
86.示例性地,可以根据源骨骼模型的各个骨骼的名称和/或位置关系,以及目标骨骼模型的各个骨骼的名称和/或位置关系,确定源骨骼模型与目标骨骼模型的骨骼映射关系。
87.需要说明的是,对于骨骼映射关系的确定过程,不限于以上描述的示例。
88.在步骤102中,将所述源骨骼模型的动画信息按照所述骨骼映射关系传递给所述目标骨骼模型。
89.在本实施例中,针对目标骨骼模型中存在骨骼映射关系的骨骼,可以直接复用对应的源骨骼模型中的骨骼的动画信息进行动画信息的配置。
90.具体地,上述将所述源骨骼模型的动画信息按照所述骨骼映射关系传递给所述目标骨骼模型的过程,包括:
91.确定所述骨骼映射关系中与所述源骨骼模型的源映射骨骼对应的所述目标骨骼模型的目标映射骨骼;
92.将根据所述源映射骨骼的动画信息传递给所述目标映射骨骼。
93.在具体实现中,可以根据骨骼映射关系确定源骨骼模型的源映射骨骼和相对应的目标骨骼模型的目标映射骨骼;然后将源映射骨骼的动画信息传递给对应的目标映射骨骼。
94.示例性地,可以遍历目标骨骼模型中的骨骼,根据骨骼映射关系判断遍历的骨骼是否存在骨骼映射关系,将存在骨骼映射关系的骨骼确定为目标映射骨骼,以及确定目标映射骨骼对应的源映射骨骼,将源映射骨骼的动画信息传递给目标映射骨骼,作为目标映射骨骼的动画信息;同时,也可以将目标骨骼模型中的目标映射骨骼与不存在骨骼映射关系的骨骼进行区分标识。
95.在步骤103中,根据所述骨骼映射关系确定所述目标骨骼模型中的待处理骨骼,其中,所述待处理骨骼是所述目标骨骼模型中不存在所述骨骼映射关系的骨骼。
96.一般情况下,目标骨骼模型与源骨骼模型不同,也就是说,目标骨骼模型中会有不存在于上述骨骼映射关系的骨骼。在图1所示的现有技术中,对于该类型骨骼是不做处理,因此,当蒙皮结构附在该类型骨骼上时,会出现畸形。
97.在本实施例中,需要先根据骨骼映射关系确定目标骨骼模型中不存在骨骼映射关系的骨骼,将该骨骼确定为待处理骨骼,以单独进行处理,消除畸形现象。
98.在具体实现中,可以通过遍历目标骨骼模型的骨骼,判断遍历的骨骼是否存在骨骼映射关系,将不存在骨骼映射关系的骨骼确定为待处理骨骼。
99.在另一具体实现中,骨骼映射关系一般通过关系表的形式存储,可以遍历骨骼映
射关系表,将目标骨骼模型中出现在骨骼映射关系表中目标映射骨骼进行标识,当骨骼映射关系表遍历结束后,可以根据上述标识确定存在骨骼映射关系的目标映射骨骼;由于目标骨骼模型中的骨骼划分为存在骨骼映射关系的目标映射骨骼和不存在骨骼映射关系的待处理骨骼,因此,在确定目标骨骼模型中的目标映射骨骼的同时也可以确定不存在骨骼映射关系的待处理骨骼。
100.在步骤104中,根据所述待处理骨骼在所述目标骨骼模型中的位置关系,确定所述待处理骨骼的兄弟骨骼;所述兄弟骨骼与所述待处理骨骼与同一个骨骼相连。
101.在确定出待处理骨骼之后,可以根据每个待处理骨骼在目标骨骼模型中的位置关系,确定待处理骨骼的兄弟骨骼;该兄弟骨骼具有与待处理骨骼连接同一个骨骼的特点。
102.具体地,本实施例中,目标骨骼模型中骨骼间的位置关系为树状结构关系,树状结构关系中的每个节点代表一个骨骼,节点的位置代表骨骼的位置;上述根据所述待处理骨骼在所述目标骨骼模型中的位置关系,确定所述待处理骨骼的兄弟骨骼的过程,包括:
103.确定所述待处理骨骼对应的目标节点;
104.基于所述树状结构关系确定所述目标节点的父节点;
105.获取所述父节点的其他子节点,所述其他子节点为所述目标节点的兄弟节点,所述兄弟节点对应的骨骼为所述兄弟骨骼。
106.在确定待处理骨骼后,可以根据目标骨骼模型的树状结构关系确定该待处理骨骼对应的节点,为了便于区分,下面将待处理骨骼对应的节点确定为目标节点;进而根据树状结构关系可以确定目标节点的父节点,然后再获取父节点除目标节点外的其他子节点,该其他子节点即为目标节点的兄弟节点,其他子节点对应的骨骼即为待处理骨骼的兄弟骨骼。
107.示例性地,如图3所示,图3中源骨骼模型包括骨骼a、骨骼b、骨骼c,目标骨骼模型包括骨骼a、骨骼b、骨骼c、骨骼d;骨骼映射关系为:骨骼a

骨骼a、骨骼b

骨骼b;因此,不存在骨骼映射关系的骨骼为c,即待处理骨骼是骨骼c。根据目标骨骼模型的树形结构关系,可以确定骨骼c的父骨骼a,进而获取父骨骼a的所有子骨骼(骨骼c和骨骼b),确定骨骼c的兄弟骨骼,即骨骼b。可选地,在获取父骨骼a的所有子骨骼之后,可以根据父骨骼a、骨骼c及骨骼b建立层级树结构(a(b,c)),根据该层级树可以确定骨骼c的兄弟骨骼,即骨骼b。
108.需要说明的是,待处理骨骼也可以不存在兄弟骨骼。
109.在步骤105中,根据所述兄弟骨骼的特征确定所述待处理骨骼的动画信息。
110.在本实施例中,兄弟骨骼的动画信息可以对待处理骨骼的动画信息产生影响。而兄弟骨骼又可以分为存在骨骼映射关系的骨骼和不存在骨骼映射关系的骨骼。本技术实施例提出根据存在骨骼映射关系的兄弟骨骼的数量的不同,采用不同的处理策略,以适应不同场景需求。
111.因此,在本实施例中,当确定兄弟骨骼后,需要分别判断各个兄弟骨骼是否存在骨骼映射关系,确定存在骨骼映射关系的兄弟骨骼的数量,进而根据该数量来确定对应的处理策略,再根据已确定处理策略确定待处理骨骼的动画信息。
112.在本实施例中,兄弟骨骼的特征包括是否存在骨骼映射关系,所述根据所述兄弟骨骼的特征确定对应的处理策略,以基于所述处理策略确定所述待处理骨骼的动画信息,包括以下三种情形:
113.其一,当存在骨骼映射关系的兄弟骨骼的数量为0时,采用第一处理策略确定待处理骨骼的动画信息;
114.其二,当存在骨骼映射关系的兄弟骨骼的数量为1时,采用第二处理策略确定待处理骨骼的动画信息;
115.其三,当存在骨骼映射关系的兄弟骨骼的数量大于1时,采用第三处理策略确定待处理骨骼的动画信息。
116.针对第一种情形,当存在骨骼映射关系的兄弟骨骼的数量为0时,采用第一处理策略确定待处理骨骼的动画信息的过程,具体可以包括:
117.当所述存在骨骼映射关系的兄弟骨骼的数量为0时,获取所述待处理骨骼的父骨骼的动画信息;所述父骨骼为所述父节点对应的骨骼;
118.采用反向运动学算法对所述父骨骼的动画信息进行处理得到所述待处理骨骼的动画信息。
119.其中,反向动力学(inverse kinematics,ik)算法是三维骨骼动画中常用的算法,在自由端关节的位置确定的情况下,能够推导出其他关节(与自由端关节连接的关节)的旋转量,常用于推导膝关节和肘关节的旋转量。反向运动学又称为逆运动学,通俗来说是以子骨骼的位置和变换反推父骨骼的位置和变换,例如拉拽玩具机械臂的一头进行运行,可以看到该机械臂的各个关节跟着进行运动。
120.在本实施例中,当存在骨骼映射关系的兄弟骨骼的数量为0,或者,兄弟骨骼的数量为0时,待处理骨骼的动画信息与其父骨骼的动画信息相关。因此,获取父骨骼的动画信息,并采用反向动力学算法对父骨骼的动画信息进行处理,得到待处理骨骼的动画信息。
121.由于其父骨骼也可能不存在骨骼映射关系,即父骨骼是目标骨骼模型中的其中一个待处理骨骼,因此,在一可选实施例中,可以限定本实施例在确定多个待处理骨骼的动画信息的过程中,根据目标骨骼模型的树状结构关系,按照各个待处理骨骼与根节点对应的根骨骼之间的路径,从短到长的顺序依次执行。或者,可以限定本实施例在确定多个待处理骨骼的动画信息的过程中,根据目标骨骼模型的树状结构关系,从根节点出发,按照从近到远的顺序依次执行。或者,可以限定本实施例在确定多个待处理骨骼的动画信息的过程中,根据目标骨骼模型的树状结构关系,从父骨骼是目标映射骨骼的待处理骨骼开始,按照从根节点到叶节点的顺序依次执行。
122.针对第二种情形,当存在骨骼映射关系的兄弟骨骼的数量为1时,采用第二处理策略确定待处理骨骼的动画信息过程,具体可以包括:
123.当存在骨骼映射关系的兄弟骨骼的数量为1时,将存在所述骨骼映射关系的兄弟骨骼确定为第一目标兄弟骨骼;
124.确定所述待处理骨骼和所述第一目标兄弟骨骼的第一夹角;
125.根据所述第一夹角和所述第一目标兄弟骨骼的动画信息确定所述待处理骨骼的动画信息。
126.在本实施例中,当存在骨骼映射关系的兄弟骨骼的数量为1时,意味着存在骨骼映射关系的兄弟骨骼只有一个,但是,并不排除兄弟骨骼中还有不存在骨骼映射关系的骨骼。为了便于区分,将本示例中数量为1时,存在骨骼映射关系的兄弟骨骼确定为第一目标兄弟骨骼。
127.由于第一目标兄弟骨骼只有一个,且与待处理骨骼相交于父骨骼的一端,因此,第一目标兄弟骨骼跟待处理骨骼可以位于同一个平面中,并确定待处理骨骼和第一目标兄弟骨骼构成的第一夹角,第一夹角表示待处理骨骼关于第一目标兄弟骨骼的旋转信息。由于第一目标兄弟骨骼是存在骨骼映射关系的骨骼,因此,可以根据源骨骼模型中对应的源目标映射骨骼的动画信息,直接确定第一目标兄弟骨骼的动画信息;最后将第一夹角和第一目标兄弟骨骼的动画信息传递给待处理骨骼,确定待处理骨骼的动画信息。
128.示例性地,如图4所示,源骨骼模型包括骨骼a和骨骼b,目标骨骼模型包括骨骼a、骨骼b和骨骼c,骨骼映射关系为:骨骼a

骨骼a、骨骼b

骨骼b;因此,不存在骨骼映射关系的骨骼为c,即待处理骨骼是骨骼c。图中,骨骼c的兄弟骨骼是骨骼b,由于骨骼b存在骨骼映射关系,即存在骨骼映射关系的兄弟骨骼的数量为1,则确定骨骼c和骨骼b的第一夹角,则将第一夹角和骨骼b的动画信息一并传递至骨骼c以确定骨骼c的动画信息。
129.针对第三种情形,当存在骨骼映射关系的兄弟骨骼的数量大于1时,采用第三处理策略确定待处理骨骼的动画信息的过程,具体可以包括:
130.当存在骨骼映射关系的兄弟骨骼的数量大于1时,将存在所述骨骼映射关系的兄弟骨骼确定为第二目标兄弟骨骼;
131.确定所述待处理骨骼和各个所述第二目标兄弟骨骼的第二夹角;
132.将各个所述第二夹角的比例关系和各个所述第二目标兄弟骨骼的动画信息传递给所述待处理骨骼,以确定所述待处理骨骼的动画信息。
133.在本实施例中,当存在骨骼映射关系的兄弟骨骼的数量大于1时,意味着存在骨骼映射关系的兄弟骨骼至少有两个,但是,并不排除兄弟骨骼中还有不存在骨骼映射关系的骨骼。为了便于区分,将本示例中数量大于1时,存在骨骼映射关系的兄弟骨骼确定为第二目标兄弟骨骼。第二目标兄弟骨骼的数量至少为两个。
134.分别确定待处理骨骼与各个第二目标兄弟骨骼构成的第二夹角,将各个第二夹角的比例关系和各个第二目标兄弟骨骼的动画信息传递至待处理骨骼,以确定待处理骨骼的动画信息;当待处理骨骼基于确定的动画信息运动时,待处理骨骼与各个第二目标兄弟骨骼构成的夹角始终满足上述的比例关系。
135.在另一实施例中,当存在骨骼映射关系的兄弟骨骼的数量大于1时,将存在所述骨骼映射关系的兄弟骨骼确定为第二目标兄弟骨骼;确定各个所述第二目标兄弟骨骼对应的单位向量在所述待处理骨骼方向的分量;根据各个所述分量确定所述待处理骨骼与各个所述第二目标兄弟骨骼的约束条件;将所述约束条件以及各个所述第二目标兄弟骨骼的动画信息传递给所述待处理骨骼,以确定所述待处理骨骼的动画信息。
136.具体地,可以根据目标骨骼模型的树状结构关系,确定待处理骨骼的方向,以及各个第二目标兄弟骨骼的方向,进而确定基于各个第二目标兄弟骨骼的方向的单位向量在待处理骨骼的方向上的分量,基于各个分量可以计算各个分量累加的合分量,并且可以计算每个分量在合分量中的占比,将该占比确定为待处理骨骼与对应的第二目标兄弟骨骼的约束条件,最后,将约束条件和各个第二目标兄弟骨骼的动画信息传递给待处理骨骼,确定待处理骨骼的动画信息。
137.进一步地,在一可选实施例中,在上述将各个所述第二夹角的比例关系和各个所述第二目标兄弟骨骼的动画信息传递给所述待处理骨骼,以确定所述待处理骨骼的动画信
息之前,还可以包括:
138.分别判断各个所述第二夹角是否小于预设角度阈值;
139.若是,则忽略所述第二夹角小于所述预设角度阈值的第二目标兄弟骨骼。
140.在本实施例中,通过设定预设角度阈值,可以对第二目标兄弟骨骼进行筛选,当待处理骨骼与第二目标兄弟骨骼的第二夹角小于预设角度阈值时,则忽略该第二目标兄弟骨骼;可以理解,该第二目标兄弟骨骼的运动信息不会对待处理骨骼的运动信息造成影响,因此,该第二目标兄弟骨骼的运动信息,以及该第二目标兄弟骨骼对应的第二夹角不参与后续计算待处理骨骼的运动信息的过程。
141.在具体实现中,可以将各个第二夹角以及预设角度阈值按照从小到大或从大到小的顺序排序,确定小于预设角度阈值的第二夹角对应的第二目标兄弟骨骼,并忽略;或者,确定大于或等于预设角度阈值的第二夹角对应的第二目标兄弟骨骼,以参与后续步骤的执行。
142.示例性地,如图5所示,源骨骼模型包括骨骼a、骨骼b、骨骼c及骨骼d,目标骨骼模型包括骨骼a、骨骼b、骨骼c、骨骼d及骨骼e,骨骼映射关系为:骨骼a

骨骼a、骨骼b

骨骼b、骨骼c

骨骼c、骨骼d

骨骼d;因此,不存在骨骼映射关系的骨骼为e,即待处理骨骼是骨骼e。图中,骨骼e的兄弟骨骼是骨骼a和骨骼b,由于骨骼a和骨骼b均存在骨骼映射关系,即存在骨骼映射关系的兄弟骨骼的数量为2,则确定骨骼e和骨骼a的第二夹角(设为β),以及确定骨骼e和骨骼b的第二夹角(设为α),且α<β,预设角度阈值为t;存在如下情形:
143.当t小于α时,则骨骼e的旋转信息由骨骼a和骨骼b共同决定,且符合α/β的值始终不变,因此,将骨骼a和骨骼b的动画信息以及α/β的值传递至骨骼e,以确定骨骼e的动画信息。如图5所示,运动过程中,骨骼e与骨骼a的夹角(设为w2),骨骼e与骨骼b的夹角(设为w1)始终存在w1/w2=α/β的关系。
144.当t大于α且小于β时,忽略骨骼b,将骨骼a的动画信息以及β传递至骨骼e,以确定骨骼e的动画信息。
145.当t大于β时,忽略骨骼a和骨骼b,因此,骨骼e不配置动画信息。
146.其中,预设角度阈值t可以跟实际需求进行设定,本技术对此不做限制。
147.本技术实施例提供的一种骨骼动画处理方法,在具体实现中,先设定源骨骼模型和目标骨骼模型的骨骼映射关系,将源骨骼模型中的源映射骨骼的动画信息传递给目标骨骼模型对应的目标映射骨骼;并且遍历目标骨骼模型,确定目标骨骼模型中不存在骨骼映射关系的待处理骨骼,构建待处理骨骼的层级树结构,该层级树结构可以只包含待处理骨骼、父骨骼以及存在骨骼映射关系的兄弟骨骼,以根据层级树结构的特征确定待处理骨骼的动画信息的计算方式,进而得到对应的计算结果;动画每播放一帧,骨骼动画处理装置就可以遍历目标骨骼模型的待处理骨骼,根据待处理骨骼对应的计算结果烘焙对应的动画信息,当动画播放完毕后,即可烘焙出符合目标骨骼模型的动画数据。
148.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术实施例并不受所描述的动作顺序的限制,因为依据本技术实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本技术实施例所必须的。
149.参照图6,示出了本技术一实施例的一种骨骼动画处理装置实施例的结构框图,在本实施例中,所述装置包括:
150.映射关系获取模块601,用于获取源骨骼模型和目标骨骼模型的骨骼映射关系;
151.动画信息传递模块602,用于将所述源骨骼模型的动画信息按照所述骨骼映射关系传递给所述目标骨骼模型;
152.待处理骨骼确定模块603,用于根据所述骨骼映射关系确定所述目标骨骼模型中的待处理骨骼,其中,所述待处理骨骼是所述目标骨骼模型中不存在所述骨骼映射关系的骨骼;
153.兄弟骨骼确定模块604,用于根据所述待处理骨骼在所述目标骨骼模型中的位置关系,确定所述待处理骨骼的兄弟骨骼;所述兄弟骨骼与所述待处理骨骼与同一个骨骼相连;
154.目标动画信息确定模块605,用于根据所述兄弟骨骼的特征确定所述待处理骨骼的动画信息。
155.可选地,所述目标骨骼模型中骨骼间的位置关系为树状结构关系,所述树状结构关系中的每个节点代表一个骨骼,所述兄弟骨骼确定模块604,包括:
156.目标节点确定模块,用于确定所述待处理骨骼对应的目标节点;
157.父节点确定模块,用于基于所述树状结构关系确定所述目标节点的父节点;
158.兄弟节点确定模块,用于获取所述父节点的其他子节点,所述其他子节点为所述目标节点的兄弟节点,所述兄弟节点对应的骨骼为所述兄弟骨骼。
159.可选地,所述动画信息传递模块602,包括:
160.映射骨骼确定模块,用于确定所述骨骼映射关系中与所述源骨骼模型的源映射骨骼对应的所述目标骨骼模型的目标映射骨骼;
161.动画信息确定模块,用于将根据所述源映射骨骼的动画信息传递给对应的所述目标映射骨骼。
162.可选地,所述兄弟骨骼的特征包括是否存在骨骼映射关系,所述目标动画信息确定模块605,包括:
163.第一策略确定模块,用于当存在骨骼映射关系的兄弟骨骼的数量为0时,获取所述待处理骨骼的父骨骼的动画信息;所述父骨骼为所述父节点对应的骨骼;
164.第一策略处理模块,用于采用反向运动学算法对所述父骨骼的动画信息进行处理得到所述待处理骨骼的动画信息。
165.可选地,所述兄弟骨骼的特征包括是否存在骨骼映射关系,所述目标动画信息确定模块605,包括:
166.第二策略确定模块,用于当存在骨骼映射关系的兄弟骨骼的数量为1时,将存在所述骨骼映射关系的兄弟骨骼确定为第一目标兄弟骨骼;
167.第二策略夹角确定模块,用于确定所述待处理骨骼和所述第一目标兄弟骨骼的第一夹角;
168.第二策略处理模块,用于将所述第一夹角和所述第一目标兄弟骨骼的动画信息传递给所述待处理骨骼,以确定所述待处理骨骼的动画信息。
169.可选地,所述兄弟骨骼的特征包括是否存在骨骼映射关系,所述目标动画信息确
定模块605,包括:
170.第三策略确定模块,用于当存在骨骼映射关系的兄弟骨骼的数量大于1时,将存在所述骨骼映射关系的兄弟骨骼确定为第二目标兄弟骨骼;
171.第三策略夹角确定模块,用于确定所述待处理骨骼和各个所述第二目标兄弟骨骼的第二夹角;
172.第三策略处理模块,用于将各个所述第二夹角的比例关系和各个所述第二目标兄弟骨骼的动画信息传递给所述待处理骨骼,以确定所述待处理骨骼的动画信息。
173.可选地,所述目标动画信息确定模块605,还包括:
174.第三策略夹角判断模块,用于分别判断各个所述第二夹角是否小于预设角度阈值;
175.第三策略兄弟骨骼确定模块,用于若所述第二夹角小于预设角度阈值,则忽略所述第二夹角小于所述预设角度阈值的第二目标兄弟骨骼。
176.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
177.本技术实施例还公开了电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的骨骼动画处理方法的步骤。
178.本技术实施例还公开了计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的骨骼动画处理方法的步骤。
179.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
180.本领域内的技术人员应明白,本技术实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本技术实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
181.本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
182.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
183.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在
计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
184.尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
185.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
186.以上对本技术所提供的一种骨骼动画处理方法、一种骨骼动画处理装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜