一种三维骨骼动画压缩方法及装置制造方法及图纸

技术编号:14355015 阅读:51 留言:0更新日期:2017-01-08 22:17
本公开揭示了一种三维骨骼动画压缩方法及装置,判断每一骨骼节点中对应的所有帧的骨骼关键帧数据是否完全相同;完全相同则保留第一帧的骨骼关键帧数据,通过与特定的第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,不完全相同则保留第一帧的骨骼关键帧数据和与第一帧的骨骼关键帧数据不同的其他关键帧的骨骼关键帧数据,通过与特定的第二压缩类型对应的第二定点数存储数据格式存储其他帧的骨骼关键帧数据,获取压缩后骨骼关键帧数据的要求数量,生成符合要求数量的压缩文档,保留变化时刻的关键帧的骨骼关键帧数据,根据特定需求进行骨骼关键帧数据的数量删减,节省存储空间,压缩方式更加灵活。

【技术实现步骤摘要】

本公开涉及三维骨骼动画数据处理
,特别涉及一种三维骨骼动画压缩方法及装置
技术介绍
随着科技的发展,终端的游戏功能不再局限于对事物的静态位置改变或者事物的属性改变,而是具有很强的动态娱乐性,主要为在时间、动作方面交互性强的关键帧动画游戏,为凸显更立体的动画效果,存在的一种表现形式为三维图形动画,组成三维图形动画的关键帧包括位移关键帧、旋转关键帧和缩放关键帧,其中位移关键帧的数据表现形式为一个3维向量,在未压缩状态下,3维向量的存储格式是3個FIX16数据存储格式,以及旋转关键帧的数据表现形式为一个四元数,在未压缩状态下,四元数的存储格式是4個FIX16数据存储格式,以及缩放关键帧的数据表现形式为一个3维向量,在未压缩状态下,3维向量的存储格式是3個FIX16数据存储格式。对于关键帧动画游戏,其中的事物执行主体由很多块骨骼组成,在关键帧动画游戏中的每一帧中,每个骨骼都对应一组骨骼关键帧位置数据和骨骼关键帧旋转数据。为在终端上调用游戏的事物执行主体,需要存储游戏事物执行主体的骨骼数量以及每个骨骼对应的骨骼关键帧位置数据和骨骼关键帧旋转数据。目前游戏功能在实现上的设计,对于终端的存储空间有限制要求,而关键帧动画游戏占用的存储空间又较大,因此在关键帧动画游戏功能实现时,必须要对其进行数据压缩处理,而现有的数据压缩方法实现数据压缩处理之后,在运行游戏须调用数据时还需进行数据解压处理,恢复到压缩处理之前的状态,则恢复数据所用的时间较长,因此经过数据压缩处理后延长了关键帧动画游戏开始之前的准备运行时间。
技术实现思路
为了解决相关技术中存在的关键帧动画游戏功能实现时数据压缩后进行解压时间长的问题,本公开提供了一种三维骨骼动画压缩方法及装置。本公开的一方面提供一种三维骨骼动画压缩方法,包括:110、判断每一骨骼节点中对应的所有帧的骨骼关键帧数据是否完全相同;如果每一骨骼节点中对应的所有帧的骨骼关键帧数据完全相同,则执行步骤120,如果每一骨骼节点中对应的所有帧的骨骼关键帧数据不完全相同,则执行步骤130;120、识别当前骨骼节点中的第一帧的骨骼关键帧数据的第一数据类型,根据识别出的第一数据类型,标识第一帧的骨骼关键帧数据的与第一数据类型对应的第一压缩类型,通过与第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的第一帧的骨骼关键帧数据;在本步骤中,第一帧的骨骼关键帧数据作为第一骨骼关键帧数据;130、识别当前骨骼节点中的第一帧的骨骼关键帧数据的第一数据类型,根据识别出的第一数据类型,标识第一帧的骨骼关键帧数据的第一压缩类型,则通过与第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的第一帧的第一骨骼关键帧数据;以及,识别当前骨骼节点中的与第一帧的骨骼关键帧数据不同的其他帧的骨骼关键帧数据的第二数据类型,根据识别出的第二数据类型,标识其他帧的骨骼关键帧数据的与第二数据类型对应的第二压缩类型,通过与第二压缩类型对应的第二定点数存储数据格式存储当前骨骼节点中与第一帧的骨骼关键帧数据不同的其他帧的骨骼关键帧数据;在本步骤中,其他帧的骨骼关键帧数据作为第二骨骼关键帧数据;140、获取用户输入的压缩后骨骼关键帧数据的要求数量,生成第一骨骼关键帧数据和第二骨骼关键帧数据的数量符合要求数量的压缩文档,在本步骤中,压缩文档包括第一骨骼关键帧数据和第二骨骼关键帧数据。在本实施方式中,骨骼关键帧数据包括骨骼关键帧位置数据、骨骼关键帧旋转数据和骨骼关键帧缩放数据;所述骨骼关键帧位移数据是一个表示骨骼的位置的3维向量,所述骨骼关键帧旋转数据是一个表示骨骼的旋转角度的四元数,所述骨骼关键帧缩放数据是一个表示骨骼缩放比例的3维向量,骨骼节点包括父节点和子节点;压缩文档包括头文档、骨骼节点结构文档和骨骼关键帧数据文档,头文档包括第一压缩类型、第二压缩类型,骨骼节点结构文档包括父节点标识和子节点标识,骨骼关键帧数据文档包括第一骨骼关键帧数据和第二骨骼关键帧数据。优选的,当识别骨骼关键帧数据为骨骼关键帧位置数据的类型时,识别当前骨骼节点中的第一帧的骨骼关键帧数据的第一数据类型,包括:识别当前骨骼节点中的第一帧的骨骼关键帧位置数据的骨骼关键帧位置数据类型;根据识别出的第一数据类型,标识第一帧的骨骼关键帧数据的与第一数据类型对应的第一压缩类型,包括:根据识别出的骨骼关键帧位置数据类型,标识第一帧的骨骼关键帧位置数据的与骨骼关键帧位置数据类型对应的位置数据压缩类型,第一压缩类型为位置数据压缩类型;通过与第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,包括:通过与位置数据压缩类型对应的3个fix16数据格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,第一定点数存储数据文档格式为3个fix16数据格式。优选的,当识别骨骼关键帧数据为骨骼关键帧旋转数据的类型时,识别当前骨骼节点中的第一帧的骨骼关键帧数据的第一数据类型,包括:识别当前骨骼节点中的第一帧的骨骼关键帧旋转数据的骨骼关键帧旋转数据类型;根据识别出的第一数据类型,标识第一帧的骨骼关键帧数据的与第一数据类型对应的第一压缩类型,包括:根据识别出的骨骼关键帧旋转数据类型,标识第一帧的骨骼关键帧旋转数据的与骨骼关键帧旋转数据类型对应的旋转数据压缩类型,第一压缩类型为旋转数据压缩类型;通过与第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,包括:通过与旋转数据压缩类型对应的4个fix8数据格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,第一定点数存储数据文档格式为4个fix8数据格式。优选的,当识别骨骼关键帧数据为骨骼关键帧缩放数据的类型时,识别当前骨骼节点中的第一帧的骨骼关键帧数据的第一数据类型,包括:识别当前骨骼节点中的第一帧的骨骼关键帧旋转数据的骨骼关键帧缩放数据类型;根据识别出的第一数据类型,标识第一帧的骨骼关键帧数据的与第一数据类型对应的第一压缩类型,包括:根据识别出的骨骼关键帧缩放数据类型,标识第一帧的骨骼关键帧缩放数据的与骨骼关键帧缩放数据类型对应的缩放数据压缩类型,第一压缩类型为缩放数据压缩类型;通过与第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,包括:通过与缩放数据压缩类型对应的3个fix16数据格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,第一定点数存储数据文档格式为3个fix16数据格式。优选的,该方法还包括:识别调用压缩文档的终端的处理器的物理存储空间是否大于或者等于32bit,如果大于或者等于32bit,实时转换第一骨骼关键帧数据的第一定点数存储数据文档格式为压缩之前的数据存储格式,以及实时转换第二骨骼关键帧数据的第二定点数存储数据文档格式为压缩之前的数据存储格式。本公开的另一方面还提供一种三维骨骼动画压缩装置,包括:判断模块,用于判断每一骨骼节点中对应的所有帧的骨骼关键帧数据是否完全相同;处理器,用于根据判断模块判断每一骨骼节点中对应的所有帧的骨骼关键帧数据完全相同的结果,识别当前骨骼节点中的第一帧的骨骼关键帧数据的第一数据类型,处理器还用于根据识别出的第一数据类型,标识第一帧的骨骼关键帧数据的与第一数据类型对应的第一压缩类型本文档来自技高网...
一种三维骨骼动画压缩方法及装置

【技术保护点】
一种三维骨骼动画压缩方法,其特征在于,包括:判断每一骨骼节点中对应的所有帧的骨骼关键帧数据是否完全相同;如果每一骨骼节点中对应的所有帧的骨骼关键帧数据完全相同,识别当前骨骼节点中的第一帧的骨骼关键帧数据的第一数据类型,根据识别出的所述第一数据类型,标识所述第一帧的骨骼关键帧数据的与所述第一数据类型对应的第一压缩类型,通过与所述第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,所述第一帧的骨骼关键帧数据作为第一骨骼关键帧数据;如果每一骨骼节点中对应的所有帧的骨骼关键帧数据不完全相同,识别当前骨骼节点中的第一帧的骨骼关键帧数据的所述第一数据类型,根据识别出的所述第一数据类型,标识所述第一帧的骨骼关键帧数据的第一压缩类型,则通过与所述第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的所述第一帧的所述第一骨骼关键帧数据;以及,识别当前骨骼节点中的与所述第一帧的所述骨骼关键帧数据不同的其他帧的骨骼关键帧数据的第二数据类型,根据识别出的所述第二数据类型,标识所述其他帧的骨骼关键帧数据的与所述第二数据类型对应的第二压缩类型,通过与所述第二压缩类型对应的第二定点数存储数据格式存储当前骨骼节点中与所述第一帧的所述骨骼关键帧数据不同的其他帧的骨骼关键帧数据,所述其他帧的骨骼关键帧数据作为第二骨骼关键帧数据;获取用户输入的压缩后骨骼关键帧数据的要求数量,生成所述第一骨骼关键帧数据和所述第二骨骼关键帧数据的数量符合所述要求数量的压缩文档,所述压缩文档包括所述第一骨骼关键帧数据和所述第二骨骼关键帧数据;所述骨骼关键帧数据包括骨骼关键帧位置数据、骨骼关键帧旋转数据和骨骼关键帧缩放数据;所述骨骼关键帧位移数据是一个表示骨骼的位置的3维向量,所述骨骼关键帧旋转数据是一个表示骨骼的旋转角度的四元数,所述骨骼关键帧缩放数据是一个表示骨骼缩放比例的3维向量,所述骨骼节点包括父节点和子节点;所述压缩文档包括头文档、骨骼节点结构文档和骨骼关键帧数据文档,所述头文档包括所述第一压缩类型、所述第二压缩类型,所述骨骼节点结构文档包括父节点标识和子节点标识,所述骨骼关键帧数据文档包括所述第一骨骼关键帧数据和所述第二骨骼关键帧数据。...

【技术特征摘要】
1.一种三维骨骼动画压缩方法,其特征在于,包括:判断每一骨骼节点中对应的所有帧的骨骼关键帧数据是否完全相同;如果每一骨骼节点中对应的所有帧的骨骼关键帧数据完全相同,识别当前骨骼节点中的第一帧的骨骼关键帧数据的第一数据类型,根据识别出的所述第一数据类型,标识所述第一帧的骨骼关键帧数据的与所述第一数据类型对应的第一压缩类型,通过与所述第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,所述第一帧的骨骼关键帧数据作为第一骨骼关键帧数据;如果每一骨骼节点中对应的所有帧的骨骼关键帧数据不完全相同,识别当前骨骼节点中的第一帧的骨骼关键帧数据的所述第一数据类型,根据识别出的所述第一数据类型,标识所述第一帧的骨骼关键帧数据的第一压缩类型,则通过与所述第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的所述第一帧的所述第一骨骼关键帧数据;以及,识别当前骨骼节点中的与所述第一帧的所述骨骼关键帧数据不同的其他帧的骨骼关键帧数据的第二数据类型,根据识别出的所述第二数据类型,标识所述其他帧的骨骼关键帧数据的与所述第二数据类型对应的第二压缩类型,通过与所述第二压缩类型对应的第二定点数存储数据格式存储当前骨骼节点中与所述第一帧的所述骨骼关键帧数据不同的其他帧的骨骼关键帧数据,所述其他帧的骨骼关键帧数据作为第二骨骼关键帧数据;获取用户输入的压缩后骨骼关键帧数据的要求数量,生成所述第一骨骼关键帧数据和所述第二骨骼关键帧数据的数量符合所述要求数量的压缩文档,所述压缩文档包括所述第一骨骼关键帧数据和所述第二骨骼关键帧数据;所述骨骼关键帧数据包括骨骼关键帧位置数据、骨骼关键帧旋转数据和骨骼关键帧缩放数据;所述骨骼关键帧位移数据是一个表示骨骼的位置的3维向量,所述骨骼关键帧旋转数据是一个表示骨骼的旋转角度的四元数,所述骨骼关键帧缩放数据是一个表示骨骼缩放比例的3维向量,所述骨骼节点包括父节点和子节点;所述压缩文档包括头文档、骨骼节点结构文档和骨骼关键帧数据文档,所述头文档包括所述第一压缩类型、所述第二压缩类型,所述骨骼节点结构文档包括父节点标识和子节点标识,所述骨骼关键帧数据文档包括所述第一骨骼关键帧数据和所述第二骨骼关键帧数据。2.如权利要求1所述的三维骨骼动画压缩方法,其特征在于,当识别所述骨骼关键帧数据为骨骼关键帧位置数据的类型时,识别当前骨骼节点中的第一帧的骨骼关键帧数据的第一数据类型,包括:识别当前骨骼节点中的第一帧的骨骼关键帧位置数据的骨骼关键帧位置数据类型;根据识别出的所述第一数据类型,标识所述第一帧的骨骼关键帧数据的与所述第一数据类型对应的第一压缩类型,包括:根据识别出的所述骨骼关键帧位置数据类型,标识所述第一帧的骨骼关键帧位置数据的与所述骨骼关键帧位置数据类型对应的位置数据压缩类型,所述第一压缩类型为位置数据压缩类型;通过与所述第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,包括:通过与所述位置数据压缩类型对应的3个fix16数据格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,所述第一定点数存储数据文档格式为所述3个fix16数据格式。3.如权利要求1所述的三维骨骼动画压缩方法,其特征在于,当识别所述骨骼关键帧数据为骨骼关键帧旋转数据的类型时,识别当前骨骼节点中的第一帧的骨骼关键帧数据的第一数据类型,包括:识别当前骨骼节点中的第一帧的骨骼关键帧旋转数据的骨骼关键帧旋转数据类型;根据识别出的所述第一数据类型,标识所述第一帧的骨骼关键帧数据的与所述第一数据类型对应的第一压缩类型,包括:根据识别出的所述骨骼关键帧旋转数据类型,标识所述第一帧的骨骼关键帧旋转数据的与所述骨骼关键帧旋转数据类型对应的旋转数据压缩类型,所述第一压缩类型为旋转数据压缩类型;通过与所述第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,包括:通过与所述旋转数据压缩类型对应的4个fix8数据格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,所述第一定点数存储数据文档格式为所述4个fix8数据格式。4.如权利要求1所述的三维骨骼动画压缩方法,其特征在于,当识别所述骨骼关键帧数据为骨骼关键帧缩放数据的类型时,识别当前骨骼节点中的第一帧的骨骼关键帧数据的第一数据类型,包括:识别当前骨骼节点中的第一帧的骨骼关键帧旋转数据的骨骼关键帧缩放数据类型;根据识别出的所述第一数据类型,标识所述第一帧的骨骼关键帧数据的与所述第一数据类型对应的第一压缩类型,包括:根据识别出的所述骨骼关键帧缩放数据类型,标识所述第一帧的骨骼关键帧缩放数据的与所述骨骼关键帧缩放数据类型对应的缩放数据压缩类型,所述第一压缩类型为缩放数据压缩类型;通过与所述第一压缩类型对应的第一定点数存储数据文档格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,包括:通过与所述缩放数据压缩类型对应的3个fix16数据格式存储当前骨骼节点中的第一帧的骨骼关键帧数据,所述第一定点数存储数据文档格式为所述3个fix16数据格式。5.如权利要求1至4中任一所述的三维骨骼动画压缩方法,其特征在于,还包括:识别调用所述压缩文档的终端的处...

【专利技术属性】
技术研发人员:连冠荣
申请(专利权)人:深圳市创梦天地科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1