计算机动画中骨骼链的处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及互联网领域,具体而言,涉及一种计算机动画中骨骼链的处理方法及
目.0
【背景技术】
[0002]骨骼动画是指在骨骼控制下,通过顶点混合动态计算蒙皮网格的顶点,而骨骼的运动相对于其父骨骼,并由动画关键帧数据驱动。一个骨骼动画通常可以包括:骨骼层次结构数据,网格(Mesh)数据,网格蒙皮数据(skin info)和骨骼的动画(关键帧)数据。
[0003]帧是指动画中最小单位的单幅影像画面,其相当于电影胶片上的每一格镜头,在动画软件的时间轴上,帧可以表现为一格或一个标记。而关键帧则相当于二维动画中的原画,其是指角色或者物体在运动或变化中的关键动作所处的那一帧。在关键帧与关键帧之间的动画可以由软件来创建,被称作过渡帧或者中间帧。
[0004]人物的一根骨骼通常可以采用数学的一个向量来描述,一个模型是骨骼的集合,而向量的集合则是矩阵,故计算机中一个模型可以采用矩阵来描述。如果需要使得一个模型运动起来,其在数学上等价于这个矩阵的各种类型的混合运算,因此,计算机的三维动作动画实际上就是矩阵运算。
[0005]动作的一个姿势(POSE)即为动作的一帧,因为它只是一帧,所以这个姿势是静态的,通常不会改变。
[0006]物理系统动画是动画的一种表演方式,其不同于“骨骼动画”,骨骼动画是通过美工预先制作完成的在游戏中的表演。然而,物理系统动画则是游戏中通过实时运算得到的,其不需要通过美工预先制作的方式来生成。特别是在表现结果上,骨骼动画的表现形式是相对固定的,每次重复播放都只能按照相同的形式进行表演,而物理系统动画则可以通过设定力道的大小而产生多种不同的表现结果。以网络游戏的特定场景为例,用户所选择的游戏角色为一名剑客,在游戏副本中通过击杀敌对士兵获取经验值以及装备,如果采用物理系统动画对士兵被击杀后的形态进行描述,其表演过程虽然更加丰富,但是如果每次都采用实时运算的方式,则会增加过多的计算开销,进而降低计算性能。
[0007]针对上述的问题,目前尚未提出有效的解决方案。
【发明内容】
[0008]本发明实施例提供了一种计算机动画中骨骼链的处理方法及装置,以至少解决相关技术中完全采用物理系统动画对游戏角色遭受击打的动作进行描述易增加系统的计算负担,降低系统的计算性能的技术问题。
[0009]根据本发明实施例的一个方面,提供了一种计算机动画中骨骼链的处理方法。包括:获取切割轨迹,其中,切割轨迹用于将游戏角色模型进行分离;确定与切割轨迹关联的骨骼链上待删除的部分骨骼节点;重新建立骨骼链上剩余骨骼节点的连接关系。
[0010]进一步地,确定与切割轨迹关联的待删除的部分骨骼节点包括:采用切割轨迹将游戏角色模型划分为第一区域和第二区域,其中,位于第一区域内以及位于切割轨迹上的全部骨骼节点在切割轨迹形成后发生位移变化,而位于第二区域内的全部骨骼节点在切割轨迹形成后保持当前位置不变;从骨骼链上查找位于第一区域内和/或位于切割轨迹上的一个或多个骨骼节点,将查找到的骨骼节点集合作为待删除的部分骨骼节点。
[0011]进一步地,重新建立骨骼链上剩余骨骼节点的连接关系包括:采用待删除的部分骨骼节点对应的骨骼矩阵生成变换矩阵;通过变换矩阵建立骨骼链上剩余骨骼节点的连接关系。
[0012]进一步地,采用以下公式生成变换矩阵:变换矩阵=骨骼矩阵x*骨骼矩阵X+I*.骨骼矩阵x+m;其中,骨骼链上有N个骨骼节点,在按照N的取值从小到大的方向上后一个骨骼节点依次为前一个骨骼节点的父骨骼,从第X个至第x+m个骨骼节点为待删除的部分骨骼节点,0〈x〈x+m〈N且x,m和N均为正整数。
[0013]进一步地,通过变换矩阵建立骨骼链上剩余骨骼节点的连接关系包括:计算骨骼矩阵X-1与变换矩阵的乘积结果,确定待重定向的骨骼节点;将待重定向的骨骼节点设置为与骨骼矩阵x-Ι对应的骨骼节点的父骨骼。
[0014]根据本发明实施例的另一方面,还提供了一种计算机动画中骨骼链的处理装置,包括:获取模块,用于获取切割轨迹,其中,切割轨迹用于将游戏角色模型进行分离;确定模块,用于确定与切割轨迹关联的骨骼链上待删除的部分骨骼节点;建立模块,用于重新建立骨骼链上剩余骨骼节点的连接关系。
[0015]进一步地,确定模块包括:划分单元,用于采用切割轨迹将游戏角色模型划分为第一区域和第二区域,其中,位于第一区域内以及位于切割轨迹上的全部骨骼节点在切割轨迹形成后发生位移变化,而位于第二区域内的全部骨骼节点在切割轨迹形成后保持当前位置不变;查找单元,用于从骨骼链上查找位于第一区域内和/或位于切割轨迹上的一个或多个骨骼节点,将查找到的骨骼节点集合作为待删除的部分骨骼节点。
[0016]进一步地,建立模块包括:生成单元,用于采用待删除的部分骨骼节点对应的骨骼矩阵生成变换矩阵;建立单元,用于通过变换矩阵建立骨骼链上剩余骨骼节点的连接关系。
[0017]进一步地,生成单元,用于采用以下公式生成变换矩阵:变换矩阵=骨骼矩阵X*骨骼矩阵x+1*...*骨骼矩阵x+m;其中,骨骼链上有N个骨骼节点,在按照N的取值从小到大的方向上后一个骨骼节点依次为前一个骨骼节点的父骨骼,从第X个至第x+m个骨骼节点为待删除的部分骨骼节点,0〈X〈X+m〈N且x,m和N均为正整数。
[0018]进一步地,建立单元包括:确定子单元,用于计算骨骼矩阵X-1与变换矩阵的乘积结果,确定待重定向的骨骼节点;设置子单元,用于将待重定向的骨骼节点设置为与骨骼矩阵x-Ι对应的骨骼节点的父骨骼。
[0019]在本发明实施例中,采用确定与切割轨迹关联的骨骼链上待删除的部分骨骼节点;重新建立骨骼链上剩余骨骼节点的连接关系的方式,在通过切割轨迹将游戏角色模型进行分离后,并非对游戏角色模型的全部骨骼均采用物理系统动画进行描述,而是对待删除的部分骨骼节点采用物理系统动画进行描述,并重新建立骨骼链上剩余骨骼节点的连接关系进而采用骨骼动画进行描述,从而实现了减轻系统的计算负担,提高系统的计算性能的技术效果,进而解决了相关技术中完全采用物理系统动画对游戏角色遭受击打的动作进行描述易增加系统的计算负担,降低系统的计算性能的技术问题。
【附图说明】
[0020]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0021]图1是根据本发明实施例的计算机动画中骨骼链的处理方法的流程图;
[0022]图2是根据本发明优选实施例的游戏击杀对象被切割后的示意图;
[0023]图3是根据本发明优选实施例的骨骼焊接的处理方法的流程图;
[0024]图4是根据本发明实施例的计算机动画中骨骼链的处理装置的结构框图;
[0025]图5是根据本发明优选实施例的计算机动画中骨骼链的处理装置的结构框图。
[0026]以上附图中的标记如下所示:1、切割轨迹;2、第一区域;3、第二区域;4、右肩骨骼;
5、右臂骨骼;6、第一脊椎骨骼;7、第二脊椎骨骼。
【具体实施方式】
[0027]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0028]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0029]根据本发明实施例,提供了一种计算机动画中骨骼链的处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0030]图1是根据本发明实施例的计算机动画中骨骼链的处理方法的流程图,如图1所示,该方法包括如下步骤:
[0031 ]步骤S102,获取切割轨迹,其中,切割轨迹用于将游戏角色模型进行分离;