一种角色动画实现方法及系统的制作方法

文档序号:6573663阅读:197来源:国知局
专利名称:一种角色动画实现方法及系统的制作方法
技术领域
本发明涉及计算机图形技术领域,更具体地说,涉及一种角色动画实现方法及系统。
背景技术
角色动画是计算机动画技术的一个重要组成部分,在计算机辅助动画电影制作和各类广告制作中一直发挥着重要的作用。动画制作中所使用的角色动画技术的一个重要特点是动画渲染需要耗费大量时间,因此动画作品必须预先制作、渲染,然后作为视频文件播放,是非实时。但是,目前3D游戏等应用却需要实时的角色动画。
随着计算机硬件技术的发展,特别是消费级别的带有硬件加速功能的显卡技术的发展,实时角色动画逐渐在游戏中获得了越来越广泛的应用。目前的角色动画通常采用关键帧动画的方式或骨骼动画方式实现。
关键帧动画,通过为需要动画效果的属性准备一组与时间相关的值(这些值从动画序列中比较关键的帧中提取出来),而其它时间帧中的值可以用这些关键值,采用线性插值方法计算得到,从而达到比较流畅的动画效果。普通的3D角色动画中,关键帧动画是对人物的网格(Mesh)模型采用关键帧生成动画。
然而,由于关键帧动画对于每个关键帧都必须存储所有顶点的位置,因此需要较大的存储空间。对于一个包含复杂部件、涉及很多关键点的角色而言,需要更大的存储空间。此外,由于角色是一个有关节的结构(不是一个刚体),顶点的线性插值法不能保证多边形的相关维数,并且中间的帧将会扭曲躯体,从而产生网格的变形。
在骨骼动画中,动画人物由两个部分来表示一个部分是形成层次的一系列骨胳,即骨架(skeleton),每一个骨骼数据都包含其自身的动画数据;另一个部分是蒙在骨架上的皮肤(skin),即网格模型,用于提供动画绘制所需要的几何模型和纹理材质信息。通过对骨架进行动画模拟,再利用骨胳控制皮肤变形就实现了角色动画。
骨骼动画与关键帧动画相比占用空间较小,因为它不需要存储每一帧的各个顶点的数据,而只需存储每一帧的骨骼(骨骼数量相对较少),并且多个不同的皮肤可以通过使用相同的骨骼共享相同的动画。然而骨骼动画中,所有骨骼都有与之关联的网格模型,模型部件之间的层次结构都必须有真正的几何实体作为依赖基础。不利于模型部件层级间的控制,动画复用程度不高。

发明内容
本发明要解决的技术问题在于,针对上述的角色动画显示时模型部件不易控制、动画复用程度不高的问题,提供一种角色动画实现方法及系统。
本发明解决上述技术问题的技术方案是,提供一种角色动画实现方法,用于实现角色动画挂接物的显示,包括以下步骤(a)建立一个或多个虚拟节点,每一所述虚拟节点与一个角色骨骼数据绑定;(b)根据所述绑定的角色骨骼的动画数据生成虚拟节点的动画数据;(c)将挂接物动画数据绑定到所述虚拟节点的动画数据并播放所述挂接物动画。
在本发明所述的一种角色动画实现方法中,所述步骤(a)和步骤(b)之间进一步包括将所述绑定虚拟节点的骨骼节点数据与其网格数据的关联转换为所述虚拟节点与所述网格数据的关联。
在本发明所述的一种角色动画实现方法中,所述步骤(a)之前还包括确定角色骨骼和确定最大挂接物数量的步骤。
在本发明所述的一种角色动画实现方法中,所述步骤(b)中的虚拟节点的动画数据包括虚拟节点在关键帧的变换信息。
在本发明所述的一种角色动画实现方法中,所述虚拟节点与骨骼节点位置重合或者与骨骼节点位置相异。
本发明还提供一种角色动画实现系统,包括用于生成骨骼数据的骨骼编辑单元,还包括虚拟节点创建单元,用于创建与骨骼编辑单元生成的角色骨骼数据绑定的虚拟节点;动画数据生成单元,用于根据所述绑定的角色骨骼数据生成虚拟节点的动画数据;挂接物存储单元,用于存储挂接物动画数据;动画播放单元,用于将挂接物动画数据绑定到在虚拟节点的动画数据并播放挂接物动画。
在本发明所述的一种角色动画实现系统中,还包括网格编辑单元,用于生成与骨骼数据关联的网格数据;关联转换单元,用于将绑定虚拟节点的角色骨骼节点与网格数据的关联转换为所述虚拟节点与所述网格数据的关联。
在本发明所述的一种角色动画实现系统中,所述骨骼编辑单元、动画数据生成单元、虚拟节点创建单元位于第一装置;所述挂接物存储单元和动画播放单元位于第二装置。
在本发明所述的一种角色动画实现系统中,所述虚拟节点与骨骼节点位置重合或者与骨骼节点位置相异。
本发明一种角色动画实现方法及系统,通过基本不占任何资源的虚拟节点,将角色动画的骨骼、网格、挂接物数据分别独立出来,并将挂接物的动画数据挂接在虚拟节点上。从而可灵活的更换挂接于虚拟节点的挂接物,降低了系统资源的占用,提高了角色动画的复用性。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是本发明一种角色动画实现系统第一实施例的结构示意图;图2是本发明一种角色动画实现系统第二实施例的结构示意图;
图3是本发明一种角色动画实现方法第一实施例的流程图;图4是本发明一种角色动画实现方法第二实施例的流程图。
具体实施例方式
本发明使用基本不占任何资源的虚拟节点,将角色动画的骨骼、网格、挂接物数据分别独立出来,并将挂接物的动画数据挂接在虚拟节点上。从而可灵活的更换挂接于虚拟节点的挂接物,降低了系统资源的占用,提高了角色动画的复用性。
如图1所示,在本发明一种角色动画实现系统的第一实施例中,包括骨骼编辑单元11、动画数据生成单元12、虚拟节点创建单元13、挂接物存储单元14以及动画播放单元15。在本实施例中,骨骼编辑单元11、动画数据生成单元12、虚拟节点创建单元13位于第一装置中,例如设计开发动画的装置中;挂接物存储单元14和动画播放单元15则位于第二装置中,例如播放动画的装置中。当然,在实际应用中,第一装置和第二装置可以为同一装置。
骨骼编辑单元11用于生成骨骼数据。在本实施例中,骨骼编辑单元11可以是诸如现有动画制作软件中用于编辑生成骨骼的模块。该骨骼数据包括骨骼节点数据和骨骼动画数据,其中骨骼节点数据组合构成了角色动画的骨架;骨骼动画数据包括每一骨骼节点在每一关键帧的位置变换信息。
虚拟节点创建单元13用于创建虚拟节点,并将创建的每一虚拟节点与骨骼编辑单元11生成的骨骼数据中的骨骼节点数据绑定。在本实施例中,虚拟节点可以和骨骼节点数据位置重合,也可与骨骼节点数据位置不同。此外,多个虚拟节点可以同时绑定到一个骨骼节点。
动画数据生成单元12用于根据骨骼动画数据生成虚拟节点的动画数据,上述骨骼动画数据是指与虚拟节点绑定的骨骼在不同时间点的一系列位置。
上述骨骼编辑单元11生成的骨骼数据以及虚拟节点创建单元13和动画数据生成单元12生成的虚拟节点动画数据,经过动画编辑器编辑,生成动画配置文件。
挂接物存储单元14用于存储经过编辑的挂接物。挂接物通常为角色动画佩戴或携带的物品,例如首饰、武器等。通常在同一角色动画的同一位置可以挂接不同的物品,并且挂接物本身可以为骨骼动画方式的物品。在本实施例中,挂接物在制作完成后存储于挂接物存储单元14。
动画播放单元15用于将挂接物动画数据绑定到在虚拟节点的动画数据并播放挂接物动画。当然,该动画播放单元15也可以同时播放带有皮肤的角色动画及实时的环境渲染数据等,从而实现整体的动画播放。
如图2所示,是本发明一种角色动画实现系统的第二实施例的示意图。与第一实施例相同,本实施例的系统包括骨骼编辑单元21、动画数据生成单元22、虚拟节点创建单元23、挂接物存储单元24以及动画播放单元25。与第一实施例不同的是,本实施例还包括网格编辑单元26和关联转换单元27。
网格编辑单元26用于生成与骨骼编辑单元21生成的骨骼数据关联的网格数据(即皮肤)。在本实施例中,该网格编辑单元26可以是动画制作软件中生成皮肤的功能模块或对应的装置。
关联转换单元27用于将至少与一个虚拟节点绑定的骨骼节点与网格数据的关联,转换为所绑定的虚拟节点与网格数据的关联。即根据骨骼节点与网格数据的关联生成虚拟节点与网格数据的关联,同时删除骨骼节点与网格数据的关联。从而转换后的网格数据与虚拟节点关联,以更好的展示挂接物品后的角色动画。
如图3所示,是本发明一种角色动画实现方法第一实施例的流程图,用于实现角色动画挂接物的显示,其具体包括以下步骤步骤S31建立一个或多个虚拟节点,每一所述虚拟节点与一个角色骨骼数据绑定。在本实施例中,虚拟节点可以和骨骼节点数据位置重合,也可与骨骼节点数据位置不同。此外,多个虚拟节点可以同时绑定到一个骨骼节点。
步骤S32根据绑定的角色骨骼的动画数据生成虚拟节点的动画数据。该虚拟节点的动画数据是一些列数据,包括虚拟节点在关键帧的变换信息。
步骤S33将挂接物动画数据绑定到在虚拟节点的动画数据并播放挂接物动画。当然,在播放挂接物动画的同时也播放角色动画以及背景等。在本实施例中,挂接物在制作完成后存储于存储装置中,在播放时直接从存储装置中获取挂接物动画数据即可。
在上述步骤(a)之前,还可包括确定角色骨骼和确定最大挂接物数量的步骤。通常确定的角色骨骼在动画播放时,与挂接物具有相同或相近的运动轨迹或动作。
如图4所示,是本发明一种角色动画实现方法第二实施例的流程图,用于实现角色动画挂接物的显示,其具体包括以下步骤步骤S41生成一个或多个虚拟节点,并将每一所述虚拟节点与一个角色骨骼数据绑定。与第一实施例相同,虚拟节点可以和骨骼节点数据位置重合,也可与骨骼节点数据位置不同,且多个虚拟节点可以同时绑定到一个骨骼节点。
步骤S42将绑定虚拟节点的角色骨骼节点与其网格数据的关联转换为所述虚拟节点与所述网格数据的关联。即根据骨骼节点与网格数据的关联生成虚拟节点与网格数据的关联,同时删除骨骼节点与网格数据的关联。
步骤S43根据绑定的角色骨骼的动画数据生成虚拟节点的动画数据。该虚拟节点的动画数据是一些列数据,包括虚拟节点在关键帧的变换信息。
步骤S44将挂接物动画数据绑定到在虚拟节点的动画数据并播放挂接物动画。当然,在播放挂接物动画的同时也播放角色动画以及背景等。在本实施例中,挂接物在制作完成后存储于存储装置中,在播放时直接从存储装置中获取挂接物动画数据即可。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种角色动画实现方法,用于实现角色动画挂接物的显示,其特征在于,包括以下步骤(a)建立一个或多个虚拟节点,每一所述虚拟节点与一个角色骨骼数据绑定;(b)根据所述绑定的角色骨骼的动画数据生成虚拟节点的动画数据;(c)将挂接物动画数据绑定到所述虚拟节点的动画数据并播放所述挂接物动画。
2.根据权利要求1所述的一种角色动画实现方法,其特征在于,所述步骤(a)和步骤(b)之间进一步包括将所述绑定虚拟节点的骨骼节点数据与其网格数据的关联转换为所述虚拟节点与所述网格数据的关联。
3.根据权利要求1所述的一种角色动画实现方法,其特征在于,所述步骤(a)之前还包括确定角色骨骼和确定最大挂接物数量的步骤。
4.根据权利要求1所述的一种角色动画实现方法,其特征在于,所述步骤(b)中的虚拟节点的动画数据包括虚拟节点在关键帧的变换信息。
5.根据权利要求1-4中任一项所述的一种角色动画实现方法,其特征在于,所述虚拟节点与骨骼节点位置重合或者与骨骼节点位置相异。
6.一种角色动画实现系统,包括用于生成骨骼数据的骨骼编辑单元,其特征在于,还包括虚拟节点创建单元,用于创建与骨骼编辑单元生成的角色骨骼数据绑定的虚拟节点;动画数据生成单元,用于根据所述绑定的角色骨骼数据生成虚拟节点的动画数据;挂接物存储单元,用于存储挂接物动画数据;动画播放单元,用于将挂接物动画数据绑定到在虚拟节点的动画数据并播放挂接物动画。
7.根据权利要求6所述的一种角色动画实现系统,其特征在于,还包括网格编辑单元,用于生成与骨骼数据关联的网格数据;关联转换单元,用于将绑定虚拟节点的角色骨骼节点与网格数据的关联转换为所述虚拟节点与所述网格数据的关联。
8.根据权利要求6所述的一种角色动画实现系统,其特征在于,所述骨骼编辑单元、动画数据生成单元、虚拟节点创建单元位于第一装置;所述挂接物存储单元和动画播放单元位于第二装置。
9.根据权利要求6-8中任一项所述的一种角色动画实现系统,其特征在于,所述虚拟节点与骨骼节点位置重合或者与骨骼节点位置相异。
全文摘要
本发明公开了一种角色动画实现方法,包括以下步骤(a)建立一个或多个虚拟节点,每一所述虚拟节点与一个角色骨骼数据绑定;(b)根据绑定的角色骨骼的动画数据生成虚拟节点的动画数据;(c)将挂接物动画数据绑定到在虚拟节点的动画数据并播放挂接物动画。本发明还提供一种对应的角色动画实现系统。本发明通过基本不占任何资源的虚拟节点,将角色动画的骨骼、网格、挂接物数据分别独立出来,并将挂接物的动画数据挂接在虚拟节点上。从而可灵活的更换挂接于虚拟节点的挂接物,降低了系统资源的占用,提高了角色动画的复用性。
文档编号G06T13/00GK101079154SQ20071007343
公开日2007年11月28日 申请日期2007年3月2日 优先权日2007年3月2日
发明者苏劲松, 简小征, 曾亮, 常鑫 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1