一种骨骼动画重用和内存占用的优化方法

文档序号:6348425阅读:874来源:国知局
专利名称:一种骨骼动画重用和内存占用的优化方法
技术领域
本发明涉及一种骨骼动画重用方法,具体涉及一种骨骼动画重用和内存占用的优化方法,其属于计算机图形学领域。
背景技术
目前的角色动画通常采用关键帧动画的方式或骨骼动画方式实现。关键帧动画, 通过为需要动画效果的属性准备一组与时间相关的值(这些值从动画序列中比较关键的帧中提取出来),而其它时间帧中的值可以用这些关键值,采用线性插值方法计算得到,从而达到比较流畅的动画效果。普通的3D角色动画中,关键帧动画是对人物的网格(Mesh) 模型采用关键帧生成动画。然而,由于关键帧动画对于每个关键帧都必须存储所有顶点的位置,因此需要较大的存储空间。对于一个包含复杂部件、涉及很多关键点的角色而言,需要更大的存储空间。此外,由于角色是一个有关节的结构(不是一个刚体),顶点的线性插值法不能保证多边形的相关维数,并且中间的帧将会扭曲躯体,从而产生网格的变形。在骨骼动画中,动画人物由两个部分来表示一个部分是形成层次的一系列骨胳, 即骨架(skeleton),每一个骨骼数据都包含其自身的动画数据;另一个部分是蒙在骨架上的皮肤(skin),即网格模型,用于提供动画绘制所需要的几何模型和纹理材质信息。通过对骨架进行动画模拟,再利用骨胳控制皮肤变形就实现了角色动画。骨骼动画本身也有其缺点,其主要体现在动画重用性不高。动画之所以重用率低, 是因为完全相同的动画很少存在。虽然说可以通过动画融合部分的解决问题,但是动画融合需要同时播放多个动画,就意味着需要额外的计算,不利用帧数的提升。

发明内容
鉴于已有方法存在的缺陷,本实发明是要提供一种骨骼重用和内存占用的优化方法,其采用对动画数据进行逻辑分块得方式,对不同骨骼的运动数据进行再次组合的方法, 已达到提高骨骼减少骨骼动画存储空间和提高重用率的目的。为了实现上述目的,本发明一种骨骼重用和内存占用的优化方法,其实现步骤如下(1)对所有现有用的骨骼动画进行统计,根据统计结果对骨骼动画进行逻辑分块;(2)把所有的现存骨骼动画,根据逻辑分块数据拆分;就是一个模型的动画拆分成多个小逻辑单元的动画;(3)在小逻辑单元动画中寻找与新动画需求关键帧接近的骨骼动画单元;(4)通过重组骨骼动画,根据逻辑单元块组成全新的引用性骨骼动画,他只包含索弓丨,并没有真正的数据。所述步骤1对所有骨骼动画有一个标准进行逻辑分组;其标准的制定原则如下(1)以最少偏移关节帧骨骼为先;
(2)以人体实际的骨骼为先;通过多所有现存骨骼动画的便利寻找各个点的零偏移次数,结合我们的理性,如我们习惯把人分成头,身体,手臂,腿部几个部分为例子,对人物的骨骼进行逻辑分块。所述步骤3中的工作进一步包括(1)对新需求的骨骼动画制作百分比的关键帧,大体确定匹配值;(2)根据大体值,对现存的分块后的逻辑关键帧进行匹配,调试效果。所述相近动画的匹配方面,我们采用如下公式进行近似系数=(新动画骨骼1的数据-样本骨骼数据)*(新动画骨骼1的数据-样本骨骼数据)+ (新动画骨骼2的数据-样本骨骼数据)* (新动画骨骼2的数据-样本骨骼数据).....(新动画骨骼η的数据-样本骨骼数据)* (新动画骨骼η的数据-样本骨骼数据);这里采用的是欧式距离,他形象的反应了 2个向量,即骨骼的动画数据直接的偏差;我们通过控制偏差,来制定我们匹配动画的精准程度。(3)当发现所有的逻辑分块都不满足当前逻辑分块的动画时,由美工导入新的逻辑块以丰富动画逻辑库。本发明的优点在于采用本对动画数据进行逻辑分块得方式,对不同骨骼的运动数据进行再次组合,输出全新的,完全不需要融合计算的骨骼动画;新形成的动画占用很少的内存,他大部分都是由现存的小逻辑动画单元组成,同时他也有利于减少美工的工作量, 由于很多是重用的,提供动画加载的速度。
具体实施例方式一种骨骼重用和内存占用的优化方法,其实现步骤如下(1)对所有现有用的骨骼动画进行统计,根据统计结果对骨骼动画进行逻辑分块;(2)把所有的现存骨骼动画,根据逻辑分块数据拆分;就是一个模型的动画拆分成多个小逻辑单元的动画;(3)在小逻辑单元动画中寻找与新动画需求关键帧接近的骨骼动画单元;(4)通过重组骨骼动画,根据逻辑单元块组成全新的引用性骨骼动画,他只包含索弓丨,并没有真正的数据。所述步骤1对所有骨骼动画有一个标准进行逻辑分组;其标准的制定原则如下(3)以最少偏移关节帧骨骼为先;(4)以人体实际的骨骼为先;通过多所有现存骨骼动画的便利寻找各个点的零偏移次数,结合我们的理性,如我们习惯把人分成头,身体,手臂,腿部几个部分为例子,对人物的骨骼进行逻辑分块。所述步骤3中的工作进一步包括(1)对新需求的骨骼动画制作百分比的关键帧,大体确定匹配值;(2)根据大体值,对现存的分块后的逻辑关键帧进行匹配,调试效果。所述相近动画的匹配方面,我们采用如下公式进行近似系数=(新动画骨骼1的数据-样本骨骼数据)*(新动画骨骼1的数据-样本骨骼数据)+ (新动画骨骼2的数据-样本骨骼数据)* (新动画骨骼2的数据-样本骨骼数据).....(新动画骨骼η的数据-样本骨骼数据)* (新动画骨骼η的数据-样本骨骼数据);这里采用的是欧式距离,他形象的反应了 2个向量,即骨骼的动画数据直接的偏差;我们通过控制偏差,来制定我们匹配动画的精准程度。(3)当发现所有的逻辑分块都不满足当前逻辑分块的动画时,由美工导入新的逻辑块以丰富动画逻辑库。本发明的实施过程分为逻辑骨骼拆分模块1、动画逻辑拆分模块2、新动画需求模块3和动画帧模块4 ;所述逻辑骨骼拆分模块1 输出作为拆分点的各个骨骼的集合;所述动画逻辑拆分模块2 根据模块1的输出,即骨骼分组对当前的骨骼动画进行拆分,把它由一个完成的骨骼动画拆分开,形成一个一个组的骨骼动画;所述新动画需求模块3 在逻辑动画库中查找相近帧,制作不存在的新逻辑帧;所述动画帧模块4 由各个子模块的逻辑帧组成全新的动画帧。首先通过逻辑骨骼拆分模块1将现有骨骼拆分,形成拆分后各个骨骼点的集合; 通过动画逻辑拆分模块2,根据骨骼分组对当前的骨骼动画进行拆分,把它由一个完成的骨骼动画拆分开,形成一个一个组的骨骼动画,经过新动画需求模块3,在在逻辑动画库中查找相近帧,制作不存在的新逻辑帧,最后通过动画帧模块4,将各个子模块的逻辑帧组成全新的动画帧。
权利要求
1.一种骨骼重用和内存占用的优化方法,其实现步骤如下(1)对所有现有用的骨骼动画进行统计,根据统计结果对骨骼动画进行逻辑分块;(2)把所有的现存骨骼动画,根据逻辑分块数据拆分;就是一个模型的动画拆分成多个小逻辑单元的动画;(3)在小逻辑单元动画中寻找与新动画需求关键帧接近的骨骼动画单元;(4)通过重组骨骼动画,根据逻辑单元块组成全新的引用性骨骼动画,他只包含索引, 并没有真正的数据。
2.根据权利要求1所述的一种骨骼重用和内存占用的优化方法,其特征在于所述步骤1对所有骨骼动画有一个标准进行逻辑分组;其标准的制定原则如下(1)以最少偏移关节帧骨骼为先;(2)以人体实际的骨骼为先;通过多所有现存骨骼动画的便利寻找各个点的零偏移次数,结合我们的理性,如我们习惯把人分成头,身体,手臂,腿部几个部分为例子,对人物的骨骼进行逻辑分块。
3.根据权利要求1所述的一种骨骼重用和内存占用的优化方法,其特征在于所述步骤3中的工作进一步包括(1)对新需求的骨骼动画制作百分比的关键帧,大体确定匹配值;(2)根据大体值,对现存的分块后的逻辑关键帧进行匹配,调试效果;所述相近动画的匹配方面,我们采用如下公式进行近似系数=(新动画骨骼1的数据-样本骨骼数据)*(新动画骨骼1的数据-样本骨骼数据)+ (新动画骨骼2的数据-样本骨骼数据)* (新动画骨骼2的数据-样本骨骼数据).....(新动画骨骼η的数据-样本骨骼数据)* (新动画骨骼η的数据-样本骨骼数据);采用的是欧式距离,他形象的反应了 2个向量,即骨骼的动画数据直接的偏差;我们通过控制偏差,来制定我们匹配动画的精准程度;(3)当发现所有的逻辑分块都不满足当前逻辑分块的动画时,由美工导入新的逻辑块以丰富动画逻辑库。
全文摘要
本发明涉及一种骨骼动画重用方法,具体涉及一种骨骼动画重用和内存占用的优化方法,其属于计算机图形学领域。采用本对动画数据进行逻辑分块得方式,对不同骨骼的运动数据进行再次组合,输出全新的,完全不需要融合计算的骨骼动画;新形成的动画占用很少的内存,他大部分都是由现存的小逻辑动画单元组成,同时他也有利于减少美工的工作量,由于很多是重用的,提供动画加载的速度。
文档编号G06T1/60GK102521792SQ20111036250
公开日2012年6月27日 申请日期2011年11月16日 优先权日2011年11月16日
发明者戚军 申请人:戚军
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1