一种顶点动画的数据压缩方法

文档序号:6521100阅读:678来源:国知局
一种顶点动画的数据压缩方法
【专利摘要】本发明提出一种顶点动画的数据压缩方法,其首先从磁盘读入动画文件,按特定的数据组织格式保存在内存中,存储的动画文件的文件头包含动画帧数目和顶点数目,而文件数据则包含每帧动画的时间戳以及所有顶点的位移数据,然后逐帧遍历数据,对动画帧的位移数据进行比较分析,其中若一个顶点相邻动画帧的位移数据是相同的,则将重复位移数据剔除,只保存一帧数据,最后将压缩后的动画数据重新写入磁盘。对于顶点数目巨大的动画文件,通过本发明所提出的方法,可以将动画中相对静止的顶点筛选出来,仅保存少量数据即可完成动画。相对于保存顶点所有位置数据,采用本发明所提出的方法可以节省大量的内存、磁盘空间,极大地减少文件I/O操作,最小化对系统性能的影响。
【专利说明】-种顶点动画的数据压缩方法
【技术领域】
[0001]本发明涉及一种数据处理方法,尤其是一种顶点动画的数据压缩方法。
【背景技术】
[0002]现有顶点动画通常采用关键帧导出的方式保存帧动画,每一帧保存了该帧的时间戳信息以及所有顶点的位置信息。顶点数目往往数以万计,即使某些顶点在几帧中并未发生位移变化,也会将位置数据导出,从而增加了文件大小。在加载播放动画时,也耗去了不少内存和大量的文件I/o操作,影响性能。

【发明内容】

[0003]为了解决现有技术中存在的上述问题,本发明提供一种顶点动画的数据压缩方法,运用此方法可以压缩动画中未发生位移的顶点的数据量,从而降低动画文件大小,改善磁盘占用。
[0004]本发明的目的通过以下技术方案实现:
一种顶点动画的数据压缩方法,含有以下步骤:
数据解析:从磁盘读入动画文件,按特定的数据组织格式保存在内存中,存储的动画文件的文件头包含动画帧数目和顶点数目,而文件数据则包含每帧动画的时间戳以及所有顶点的位移数据;
数据压缩:逐帧遍历数据,对动画帧的位移数据进行比较分析,其中若一个顶点相邻动画帧的位移数据是相同的,则将重复位移数据剔除,只保存一帧数据;
数据存盘:将压缩后的动画数据重新写入磁盘。
[0005]作为对以上技术方案的进一步改进,在动画更新时,即动画文件的逐帧播放期间,在某一时刻取所有顶点的位置数据时,遍历该帧数据时,逐个取顶点的位移数据,若有位移则取位移数据,没有则取数据索引中对应帧的位移数据。
[0006]本发明的有益效果在于:
对于顶点数目巨大的动画文件,通过本方法,可以将动画中相对静止的顶点筛选出来,仅保存少量数据即可完成动画。相对于保存顶点所有位置数据,可以节省大量磁盘空间。
【专利附图】

【附图说明】
[0007]本发明的目的、优点和特点,将通过下面优选实施例的非限制性说明进行图示和解释。这些实施例仅是应用本发明技术方案的典型范例,凡采取等同替换或等效变换而形成的技术方案,均落在本发明要求保护的范围之内。这些附图当中:
图1为本发明中顶点动画文件的数据结构;
图2为本发明中顶点动画重复数据的剔除;
图3为本发明中顶点动画压缩后的数据结构;
图4为本发明数据压缩方法的流程图。【具体实施方式】
[0008]本发明提供一种顶点动画的数据压缩方法,运用此方法可以将原动画数据文件中的重复数据剔除,压缩后存盘成新文件,从而降低文件的磁盘占用,同时也减少文件加载后的内存占用。
[0009]根据本发明,系统首先从磁盘读入一个顶点动画文件,并按一定的数据组织格式保存在内存中。具体上讲,存储的动画文件的文件头包含动画帧数目和顶点数目,而文件数据则包含每帧动画的时间戳以及所有顶点的位移数据,如图1所示,该动画有M个顶点和N个帧。
[0010]然后,系统逐帧遍历数据,对动画顶点相邻动画帧的位移数据进行比较。其中,若一个顶点相邻动画帧的位移数据是相同的,则保存一帧数据即可,将重复位移数据剔除。具体如图2所示,其中顶点2第I到第N帧的位移数据是相同的,则保留第I帧,顶点3第2到第N帧的位移数据是相同的,则保留第2帧,顶点M第2和第3帧的位移数据是相同的,则保留第2帧。
[0011]当动画更新时,在某一时刻取所有顶点的位置数据时,遍历该帧数据时,逐个取顶点的位移数据,若有位移则取位移数据,没有则取数据索引(DataIndex)中对应帧的位移数据,如图3所示。其中,对于DataIndex,当某一巾贞(比如第N巾贞)某一个顶点的位移数据与之前1、帧的位移数据某一帧(比如第M帧)相同,则DataIndex的值即为M,只需要存储这个M数值即可,不需要再另存位移数据了,达到数据压缩的目的。
[0012]此步骤核心点就是取某一帧顶点位移数据时,先判断是否有Datalndex,有就直接引用DataIndex对应的位移数据,没有则走正常流程,取该帧该顶点的位移数据。
[0013]最后,将压缩后的数据重新写入磁盘保存。整个过程如图4所示。
[0014]对于顶点数目巨大的动画文件,通过本方法,可以将动画中相对静止的顶点筛选出来,仅保存少量数据即可完成动画。相对于保存顶点所有位置数据,可以节省大量的内存、磁盘空间,极大地减少文件I/o操作,最小化对系统性能的影响。
[0015]以上所述仅为本发明的优先实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。
【权利要求】
1.一种顶点动画的数据压缩方法,其特征在于,包括以下步骤: 1)数据解析:从磁盘读入动画文件,按特定的数据组织格式保存在内存中,其中动画文件的文件头包含动画帧数目和顶点数目,而文件数据则包含每帧动画的时间戳以及所有顶点的位移数据; 2)数据压缩:逐帧遍历数据,对动画帧的位移数据进行比较分析,其中若一个顶点相邻动画帧的位移数据是相同的,则将重复位移数据剔除,只保存一动画帧的位移数据; 3)数据存盘:将压缩后的动画数据重新写入磁盘。
2.根据权利要求1所述的顶点动画的数据压缩方法,其特征在于,在动画更新时,在某一时刻取所有顶点的位置数据时,遍历该帧数据时,逐个取顶点的位移数据,若有位移则取位移数据,没有则取数据`索引中对应帧的位移数据。
【文档编号】G06F17/30GK103605774SQ201310619209
【公开日】2014年2月26日 申请日期:2013年11月29日 优先权日:2013年11月29日
【发明者】梁波, 吴才忠, 刘畅 申请人:珠海金山网络游戏科技有限公司, 成都西山居互动娱乐科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1