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

文档序号:6573717阅读:156来源:国知局
专利名称:一种角色动画实现方法及系统的制作方法
技术领域
本发明涉及计算机图形技术领域,更具体地说,涉及一种角色动画实现方 法及系统。
背景技术
角色动画是计算机动画技术的一个重要组成部分,在计算机辅助动画电影 制作和各类广告制作中一直发挥着重要的作用。随着计算机硬件技术的发展, 特别是消费级别的带有硬件加速功能的显卡技术的发展,实时角色动画逐渐在 游戏中获得了越来越广泛的应用。目前的角色动画通常采用骨骼动画方式实 现。
在骨骼动画中,动画人物由两个部分来表示 一个部分是形成层次的一系 列骨胳,即骨架(skeleton),每一个骨骼数据都包含其自身的动画数据;另一 个部分是蒙在骨架上的皮肤(skin),即网格模型,用于提供动画绘制所需要 的几何模型和紋理材质信息。通过对骨架进行动画模拟,再利用骨胳控制皮肤 变形就实现了角色动画。
由于骨骼动画不需要存储每一帧的各个顶点的数据,而只需存储每一帧的 骨骼(骨骼数量相对较少),多个不同的皮肤可以通过^f吏用相同的骨骼共享相 同的动画,因此动画骨骼动画占用空间较小。
在一些3D图形应用中(例如3D网络游戏),对角色的选中控制是通过拾 取(PICK)技术实现的。拾取技术的思想如下首先得到鼠标点击处的屏幕坐 标,然后通过投影矩阵和观察矩阵把该坐标转换为通过^L点和鼠标点击点的一 条射入场景的光线,该光线如果与场景模型的三角形相交,则获取该相交三角 形的信息。在现有的3D应用中,通常将整个3D角色的模型作为最小单元进 行拾取判断。如果角色被拾取到,则用户对这个角色进行下一步操作。
然而,上述的拾取方法无法对角色的某个部位进行精确控制,例如当希望 点击角色身体不同部位(例如手或者脚),角色会做出不同的反映(例如摆手 或走路),上述方法显然无法满足需求。

发明内容
本发明要解决的技术问题在于,针对上述的角色动画拾取技术无法实现对 角色精确控制的问题,提供一种角色动画实现方法及系统。
本发明解决上述技术问题的技术方案是,提供一种角色动画实现方法,所
述角色动画包括多个骨骼和对应于所迷骨骼的皮肤,包括以下步骤
(a) 将角色动画分成至少两部分,并为每一部分设置一个标识号;
(b) 建立包含所述标识号与每一部分的皮肤数据间对应关系的映射表;
(c) 拾取操作焦点位置的角色动画的皮肤数据;
(d) 根据所述皮肤数据查询所述映射表,获得对应的标识号。 在本发明所述的一种角色动画实现方法中,所述步骤(a)中,所述角色
动画的每一部分包含于不同的骨骼。
在本发明所述的一种角色动画实现方法中,还包括
(e) 建立数据表,所述数据表包括每一标识号对应的角色动画被选中后 的动画iy居。
在本发明所述的一种角色动画实现方法中,还包括
(f) 根据标识号查询所述数据表,并执行对应动画数据。 在本发明所述的一种角色动画实现方法中,所述步骤(c)中的操作焦点
位置包括鼠标在角色动画上的点击位置。
本发明还提供一种角色动画实现系统,所述角色动画包括多个骨骼和对应 于所述骨骼的皮肤,包括
角色分割单元,用于将角色动画分成至少两部分,并为每一部分设置一个 标识号;
映射表创建单元,用于建立映射表,所述映射表包含所述标识号与每一部 分的皮肤数据间对应关系;角色拾取单元,用于拾取操作焦点位置的角色动画的皮肤数据; 拾取计算单元,用于根据所述皮肤数据查询所述映射表,获得对应的标识—,
在本发明所述的一种角色动画实现方法中,所述角色分割单元分割所得的 角色动画的每一部分包含于不同的骨骼。
在本发明所述的一种角色动画实现方法中,还包括动画创建单元,用于建 立数据表,所述数据表包括每一标识号对应的角色动画部位被选中后的动画数 据。
在本发明所述的一种角色动画实现方法中,还包括动画执行单元,用于根 据标识号查询动画创建单元创建的数据表,获取并执行对应动画数据。
在本发明所述的一种角色动画实现方法中,所述角色拾取单元拾取的操作 焦点位置包括鼠标在角色动画上的点击位置。
本发明一种角色动画实现方法及系统,通过将角色动画分成多个部件,实 现对角色动画不同部位地拾取,从而可对动画进行精确控制,丰富了角色动画 的动作。


下面将结合附图及实施例对本发明作进一步说明,附图中 图1是本发明一种角色动画实现系统第一实施例的结构示意图; 图2是本发明 一 种角色动画实现系统第二实施例的结构示意图; 图3是本发明一种角色动画实现方法实施例的流程图。
具体实施例方式
本发明通过把角色动画在制作时分成若干小块,以小块角色动画作为拾取 计算的最小单位,从而达到对角色动画精确控制的需求。
如图l所示,是本发明一种角色动画实现系统第一实施例的结构示意图。 其中角色动画是指三维场景中的人物、动物或静物图像。每一角色动画由多个 骨骼组成,每一骨骼表面覆盖皮肤,皮肤根据对应的骨骼的动作做出相应动作。
在本实施例中,系统包括角色分割单元11、映射表创建单元12、角色拾取单
元13以及拾取计算单元14。其中,角色分割单元11、映射表创建单元12位 于第一装置中,例如位于设计开发动画的装置中;角色拾取单元13以及拾取 计算单元14则位于第二装置中,例如位于播放动画的装置中。当然,在实际 应用中,第一装置和第二装置可以为同一装置。
角色分割单元11用于将角色动画分成至少两部分,并为每一部分设置一 个标识号。通常,角色分割单元11根据骨骼数据对角色动画进行分割。在本 实施例中,角色分割单元11根据角色动画的各部位的活动特性对其进行分割。 例如当角色动画为三维动物图像时,可将该动物图像分为头部、四肢、躯干等。 经角色分割单元11分割后的角色动画的每一部分包含于不同的骨骼。
映射表创建单元12用于建立映射表,该映射表包含代表角色动画被分割 后各部分的标识号与每一部分的皮肤数据间对应关系。即皮肤数据与分割后的 部位之间的对应关系。
角色拾取单元13用于拾取指定位置的角色动画的皮肤数据。与现有方案 类似,角色拾取单元13首先获取操作焦点位置(通常为鼠标点击处)的屏幕 坐标,然后通过投影矩阵和观察矩阵把该坐标转换为通过视点和上述指定位置 的一条射入场景的光线,该光线如果与场景模型的三角形(即皮肤)相交,则 获取该相交三角形(通常皮肤由多个三角形组成)。
拾取计算单元14用于根据角色拾取单元13获取的皮肤数据,查询映射表 创建单元12创建的映射表,以获得上述皮肤数据所在的角色动画部位,即获 得对应的标识号。
如图2所示,是本发明一种角色动画实现系统第二实施例的结构示意图。 在本实施例中,系统除了包括角色分割单元21、映射表创建单元22、角色拾 取单元23以及拾取计算单元24,还包括位于第一装置的动画创建单元26。
动画创建单元26用于建立数据表,该数据表包括每一标识号对应的角色 动画部位被拾取后的动画数据。例如,当角色动画的头部被拾取到,则定义角 色动画的动画数据为摆头动作;当角色动画的四肢^C拾:取到,则定义角色动画 的动画数据为跳跃动作等。
此外,还可包括位于第二装置的动画执行单元25,该单元用于根据标识
号查询动画创建单元26创建的数据表,并执行对应动画数据,从而角色动画
^故出对应的动作。
如图3所示,是本发明一种角色动画实现方法第一实施例的流程图。其中,
其中角色动画是指三维场景中的人物、动物或静物图像。每一角色动画由多个 骨骼组成,每一骨骼表面覆盖皮肤,皮肤根据对应的骨骼的动作做出相应动作。
该方法具体包括以下步骤
步骤S31:将角色动画分成至少两部分,并为每一部分设置一个标识号。 在本实施例中,才艮据角色动画的各部位的活动特性对其进行分割。例如当角色 动画为三维动物图^f象时,可将该动物图像分为头部、四^I支、躯干等。经过分割 后的角色动画的每一部分包含于不同的骨骼。
步骤S32:建立包含标识号与每一部分的皮肤数据间对应关系的映射表。 即皮肤数据与分割后的部位之间的对应关系。
步骤S33:拾取操作焦点位置的角色动画的皮肤数据。该拾取步骤可采用
现有方案首先得到指定位置(通常为鼠标点击处)的屏幕坐标,然后通过投 影矩阵和观察矩阵把该坐标转换为通过视点和上述指定位置的一条射入场景
的光线,该光线如果与场景模型的三角形(即皮肤)相交,则获取该相交三角 形(通常皮肤由多个三角形组成)。
步骤S34:根据步骤S33所得的皮肤数据查询步骤22创建的映射表,获 得对应的标识号,即获得皮肤数据所在的部位,从而可对角色动画的该部位或 整个角色动画进行;睛确控制。
在本发明的一种角色动画实现方法第二实施例中,除了包括上述步骤外还 包括建立数据表,该数据表包括每一标识号对应的角色动画部位被选中后的 动画数据。在该数据表中,不同的部位定义了不同的动作,从而丰富了角色动 画的动作。
此外,上述方法还包括根据标识号查询数据表,获取并执行标识号对应 部位的动画数据。从而使角色动画做出对应的动作。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局
限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护 范围应该以权利要求的保护范围为准。
权利要求
1、一种角色动画实现方法,所述角色动画包括多个骨骼和对应于所述骨骼的皮肤,其特征在于,包括以下步骤(a)将角色动画分成至少两部分,并为每一部分设置一个标识号;(b)建立包含所述标识号与每一部分的皮肤数据间对应关系的映射表;(c)拾取操作焦点位置的角色动画的皮肤数据;(d)根据所述皮肤数据查询所述映射表,获得对应的标识号。
2、 根据权利要求1所述的一种角色动画实现方法,其特征在于,所述步 骤(a)中,所述角色动画的每一部分包含于不同的骨骼。
3、 根据权利要求1或2所述的一种角色动画实现方法,其特征在于,还 包括(e) 建立数据表,所述数据表包括每一标识号对应的角色动画被选中后 的动画数据。
4、 根据权利要求3所述的一种角色动画实现方法,其特征在于,还包括(f) 根据标识号查询所述数据表,并执行对应动画数据。
5、 根据权利要求1所述的一种角色动画实现方法,其特征在于,所述步 骤(c)中的操作焦点位置包括鼠标在角色动画上的点击位置。
6、 一种角色动画实现系统,所述角色动画包括多个骨骼和对应于所述骨 骼的皮肤,其特征在于,包括角色分割单元,用于将角色动画分成至少两部分,并为每一部分设置一个 标识号;映射表创建单元,用于建立映射表,所述映射表包含所述标识号与每一部 分的皮肤数据间对应关系;角色拾取单元,用于拾取操作焦点位置的角色动画的皮肤数据; 拾取计算单元,用于根据所述皮肤数据查询所述映射表,获得对应的标识弓一
7、 根据权利要求6所述的一种角色动画实现方法,其特征在于,所述角色分割单元分割所得的角色动画的每一部分包含于不同的骨骼。
8、 根据权利要求6或7所述的一种角色动画实现方法,其特征在于,还包括动画创建单元,用于建立数据表,所述数据表包括每一标识号对应的角色动画部位^皮选中后的动画l史据。
9、 根据权利要求8所述的一种角色动画实现方法,其特征在于,还包括 动画执行单元,用于根据标识号查询动画创建单元创建的数据表,并执行对应 动画数据。
10、 根据权利要求6所述的一种角色动画实现方法,其特征在于,所述角 色拾取单元拾取的搡作焦点位置包括鼠标在角色动画上的点击位置。
全文摘要
本发明公开了一种角色动画实现方法,所述角色动画包括多个骨骼和对应于所述骨骼的皮肤,包括以下步骤(a)将角色动画分成至少两部分,并为每一部分设置一个标识号;(b)建立包含所述标识号与每一部分的皮肤数据间对应关系的映射表;(c)拾取操作焦点位置的角色动画的皮肤数据;(d)根据所述皮肤数据查询所述映射表,获得对应的标识号。本发明还提供一种对应的角色动画实现系统。本发明通过角色动画分成多个部件,实现了对角色动画的不同部位地拾取,从而可对动画进行精确控制,丰富了角色动画的动作。
文档编号G06T13/40GK101192308SQ20071007371
公开日2008年6月4日 申请日期2007年3月28日 优先权日2007年3月28日
发明者鑫 常, 张泽湘, 亮 曾, 杨东迈, 简小征, 敏 胡, 苏劲松 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1