CN104732574B - 一种角色游戏的压缩方法及装置 - Google Patents
一种角色游戏的压缩方法及装置 Download PDFInfo
- Publication number
- CN104732574B CN104732574B CN201410849750.6A CN201410849750A CN104732574B CN 104732574 B CN104732574 B CN 104732574B CN 201410849750 A CN201410849750 A CN 201410849750A CN 104732574 B CN104732574 B CN 104732574B
- Authority
- CN
- China
- Prior art keywords
- increment
- data
- component
- frame
- translation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种角色动画的压缩方法及装置,所述方法包括:分别采集当前帧的各个骨骼数据相对于上一帧各个骨骼数据的数据增量;转换数据增量的类型,以压缩所述数据增量。通过本发明实施例公开了一种角色动画的压缩方法及装置,可以降低角色关键帧动画游戏占用的移动终端内存。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种角色游戏的压缩方法及装置。
背景技术
随着科技的发展,移动终端的游戏功能越来越强大,不在是“俄罗斯方块”和“贪吃蛇”之类画面简陋、规则简单的游戏,而是具有很强的娱乐性和交互性的角色关键帧动画游戏。
对于角色关键帧动画游戏而言,游戏角色由很多块骨骼组成,每一帧中每个骨骼都对应一组骨骼关键帧位置数据和骨骼关键帧旋转数据。为在移动终端上还原游戏角色,需要在移动终端的存储空间存储游戏角色的骨骼数量以及每个骨骼对应的骨骼关键帧位置数据和骨骼关键帧旋转数据。
但是移动终端的存储空间有限,角色关键帧动画游戏占用存储空间较大时。
发明内容
本发明提供一种角色动画的压缩方法及装置,以实现解决角色关键帧动画游戏占用存储空间较大的问题。
一方面,本发明实施例提供了一种角色动画的压缩方法,包括:
分别采集当前帧的各个骨骼数据相对于上一帧各个骨骼数据的数据增量;
转换所述数据增量的类型,以压缩所述数据增量。
优选地,所述转换所述数据增量的类型,以压缩所述数据增量包括:
将所述数据增量的类型由单精度浮点型float类型转换为短整型short类型,以压缩所述数据增量。
优选地,所述float类型为32位,所述short类型为16位。
优选地,在所述转换所述数据增量的类型,以压缩所述数据增量之后,还包括:
将转换后的数据增量压缩为Zip格式,以压缩所述转换后的数据增量。
优选地,所述数据增量包括:骨骼关键帧旋转增量和骨骼关键帧平移数据增量;
所述骨骼关键帧旋转增量包括:四元数x分量的增量、四元数y分量的增量、四元数z分量的增量和四元数w分量的增量;
骨骼关键帧平移数据增量包括:平移x分量增量、平移y分量增量和平移z分量增量。
另一方面,本发明实施例提供了一种角色动画的压缩装置,包括:
数据增量采集模块,用于分别采集当前帧的各个骨骼数据相对于上一帧各个骨骼数据的数据增量;
第一压缩模块,用于转换所述数据增量的类型,以压缩所述数据增量。
优选地,所述第一压缩模块具体用于,将所述数据增量的类型由单精度浮点型float类型转换为短整型short类型,以压缩所述数据增量。
优选地,所述float类型为32位,所述short类型为16位。
优选地,所述装置还包括:第二压缩模块,用于将转换后的数据增量压缩为Zip格式,以压缩所述转换后的数据增量。
优选地,所述数据增量包括:骨骼关键帧旋转增量和骨骼关键帧平移数据增量;
所述骨骼关键帧旋转增量包括:四元数x分量的增量、四元数y分量的增量、四元数z分量的增量和四元数w分量的增量;
骨骼关键帧平移数据增量包括:平移x分量增量、平移y分量增量和平移z分量增量。
通过本发明实施例公开了一种角色动画的压缩方法及装置,可以降低角色关键帧动画游戏占用的移动终端内存。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的一种角色动画的压缩方法的流程示意图;
图2为本发明实施例提供的关键帧数据存储示意图;
图3是本发明实施例中的一种角色动画的压缩装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
本发明实施例提供了一种角色动画的压缩方法,适用于压缩角色关键帧动画游戏的情况下,如图1所示,具体包括以下步骤:
步骤S101,分别采集当前帧的各个骨骼数据相对于上一帧各个骨骼数据的数据增量。
在步骤S101中,由于关键帧动画具有连续性,由上一帧中的骨骼位置移动至当前帧中的骨骼位置过程中产生的动作,可以看做是当前帧骨骼动作与上一帧骨骼动作之间的相对动作增量。上一帧骨骼动作叠加相对动作增量就可以获得当前骨骼动作。因此,分别采集当前帧的各个骨骼数据相对于上一帧各个骨骼数据的数据增量,存储上一帧各个骨骼数据和数据增量既可以获得当前帧的各个骨骼数据。数据增量占用的内容相对于当前帧的各个骨骼数据较小,因此,可以降低角色关键帧动画游戏占用的移动终端内存。数据增量可以包括:骨骼关键帧旋转增量和骨骼关键帧平移数据增量;骨骼关键帧旋转增量可以包括:四元数x分量的增量、四元数y分量的增量、四元数z分量的增量和四元数w分量的增量;骨骼关键帧平移数据增量可以包括:平移x分量增量、平移y分量增量和平移z分量增量。
步骤S102,转换数据增量的类型,以压缩数据增量。
在步骤S102中,可以将数据增量的类型由单精度浮点型短整型float类型为short类型,以压缩数据增量。在C++中,单精度浮点型float专指占用32位存储空间的单精度(single-precision)值。由于float类型为32位,short类型为16位。short类型在移动终端上比float类型处理速度更快而且只占用float类型一半的空间。
通过本发明实施例公开了一种角色动画的压缩方法,可以降低角色关键帧动画游戏占用的移动终端内存。
图2为本发明实施例提供的关键帧数据存储示意图。
在内存中存储了采样率、周期、骨骼数量、总帧数、骨骼数据1和骨骼数据2。在骨骼数据1中存储了骨骼ID、关键帧位置总数、关键帧旋转总数。骨骼数据2包括了其中一个骨骼的骨骼关键帧旋转数据和骨骼关键帧平移数据;骨骼关键帧旋转数据包括了四元数x分量集合、四元数y分量集合、四元数z分量集合和四元数w分量集合;骼关键帧平移数据增量可以包括:平移x分量集合、平移y分量集合和平移z分量集合。
实施例二
本发明实施例在上述实施例的基础上提供了一种角色动画的压缩方法,如图3所示,包括:
步骤S301,分别采集当前帧的各个骨骼数据相对于上一帧各个骨骼数据的数据增量。
步骤S302,转换数据增量的类型,以压缩数据增量。
步骤S303,将转换后的数据增量压缩为Zip格式,以压缩转换后的数据增量。
在步骤S303中,可以使用WinRAR压缩软件,将转换后的数据增量压缩为Zip格式,若转换后的数据增量为二进制代码,WinRAR压缩软件可以将二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0的写法60,来减少转换后的数据增量占用的内存。
通过本发明实施例公开了一种角色动画的压缩方法,可以降低角色关键帧动画游戏占用的移动终端内存。
实施例三
本发明实施例提供了一种角色动画的压缩装置,如图4所示,该装置具体包括:数据增量采集模块41和第一压缩模块42。
其中,数据增量采集模块41,用于分别采集当前帧的各个骨骼数据相对于上一帧各个骨骼数据的数据增量;第一压缩模块,用于转换数据增量的类型,以压缩数据增量。
在数据增量采集模块41中,由于关键帧动画具有连续性,由上一帧中的骨骼位置移动至当前帧中的骨骼位置过程中产生的动作,可以看做是当前帧骨骼动作与上一帧骨骼动作之间的相对动作增量。上一帧骨骼动作叠加相对动作增量就可以获得当前骨骼动作。因此,分别采集当前帧的各个骨骼数据相对于上一帧各个骨骼数据的数据增量,存储上一帧各个骨骼数据和数据增量既可以获得当前帧的各个骨骼数据。数据增量占用的内容相对于当前帧的各个骨骼数据较小,因此,可以降低角色关键帧动画游戏占用的移动终端内存。数据增量可以包括:骨骼关键帧旋转增量和骨骼关键帧平移数据增量;骨骼关键帧旋转增量可以包括:四元数x分量的增量、四元数y分量的增量、四元数z分量的增量和四元数w分量的增量;骨骼关键帧平移数据增量可以包括:平移x分量增量、平移y分量增量和平移z分量增量。
在第一压缩模块42中,可以将数据增量的类型由单精度浮点型短整型float类型为short类型,以压缩数据增量。在C++中,单精度浮点型float专指占用32位存储空间的单精度(single-precision)值。由于float类型为32位,short类型为16位。short类型在移动终端上比float类型处理速度更快而且只占用float类型一半的空间。
通过本发明实施例公开了一种角色动画的压缩装置,可以降低角色关键帧动画游戏占用的移动终端内存。
本发明提供一较优实施例角色动画的压缩装置还包括:第二压缩模块,用于将转换后的数据增量压缩为Zip格式,以压缩转换后的数据增量。
可以使用WinRAR压缩软件,将转换后的数据增量压缩为Zip格式,若转换后的数据增量为二进制代码,WinRAR压缩软件可以将二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0的写法60,来减少转换后的数据增量占用的内存。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (4)
1.一种角色动画的压缩方法,其特征在于,包括:
分别采集当前帧的各个骨骼数据相对于上一帧各个骨骼数据的数据增量;
将所述数据增量的类型由单精度浮点型float类型转换为短整型short类型,以压缩所述数据增量;
将转换后的数据增量压缩为Zip格式,以压缩所述转换后的数据增量;
其中,所述数据增量包括:骨骼关键帧旋转增量和骨骼关键帧平移数据增量;
所述骨骼关键帧旋转增量包括:四元数x分量的增量、四元数y分量的增量、四元数z分量的增量和四元数w分量的增量;
骨骼关键帧平移数据增量包括:平移x分量增量、平移y分量增量和平移z分量增量。
2.根据权利要求1所述的方法,其特征在于,所述float类型为32位,所述short类型为16位。
3.一种角色动画的压缩装置,其特征在于,包括:
数据增量采集模块,用于分别采集当前帧的各个骨骼数据相对于上一帧各个骨骼数据的数据增量;
第一压缩模块,用于将所述数据增量的类型由单精度浮点型float类型转换为短整型short类型,以压缩所述数据增量;
第二压缩模块,用于将转换后的数据增量压缩为Zip格式,以压缩所述转换后的数据增量;
其中,所述数据增量包括:骨骼关键帧旋转增量和骨骼关键帧平移数据增量;
所述骨骼关键帧旋转增量包括:四元数x分量的增量、四元数y分量的增量、四元数z分量的增量和四元数w分量的增量;
骨骼关键帧平移数据增量包括:平移x分量增量、平移y分量增量和平移z分量增量。
4.根据权利要求3所述的装置,其特征在于,所述float类型为32位,所述short类型为16位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410849750.6A CN104732574B (zh) | 2014-12-30 | 2014-12-30 | 一种角色游戏的压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410849750.6A CN104732574B (zh) | 2014-12-30 | 2014-12-30 | 一种角色游戏的压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104732574A CN104732574A (zh) | 2015-06-24 |
CN104732574B true CN104732574B (zh) | 2017-12-12 |
Family
ID=53456442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410849750.6A Active CN104732574B (zh) | 2014-12-30 | 2014-12-30 | 一种角色游戏的压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104732574B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105513099B (zh) * | 2015-11-27 | 2019-01-22 | 北京像素软件科技股份有限公司 | 一种骨骼动画数据的压缩方法及装置 |
CN106296759B (zh) * | 2016-08-25 | 2019-09-20 | 深圳市创梦天地科技有限公司 | 一种三维骨骼动画压缩方法及装置 |
CN106327538B (zh) * | 2016-08-25 | 2019-09-20 | 深圳市创梦天地科技有限公司 | 一种二维骨骼动画压缩方法及装置 |
CN107578462A (zh) * | 2017-09-12 | 2018-01-12 | 北京城市系统工程研究中心 | 一种基于实时运动捕捉的骨骼动画数据处理方法 |
CN107730437A (zh) * | 2017-09-29 | 2018-02-23 | 上海开圣影视文化传媒股份有限公司 | 数据压缩存储方法及装置 |
CN108492338B (zh) * | 2018-02-09 | 2021-12-24 | 腾讯科技(深圳)有限公司 | 动画文件的压缩方法、装置、存储介质和电子装置 |
CN108635849B (zh) * | 2018-05-15 | 2024-06-04 | 深圳市腾讯网络信息技术有限公司 | 一种动画数据压缩、解压缩方法及装置 |
CN109529347B (zh) * | 2018-11-21 | 2022-05-17 | 北京像素软件科技股份有限公司 | 3d游戏骨骼增删方法及装置 |
CN109785413B (zh) * | 2018-12-06 | 2023-03-14 | 珠海西山居互动娱乐科技有限公司 | 基于Unity的可配置动画文件树形压缩方法及装置 |
CN110430270B (zh) * | 2019-08-08 | 2022-03-25 | 网易(杭州)网络有限公司 | 载具数据的同步方法及装置 |
CN111161365B (zh) * | 2019-12-30 | 2023-05-09 | 珠海金山数字网络科技有限公司 | 一种骨骼动画数据的压缩方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991000671A1 (de) * | 1989-06-30 | 1991-01-10 | Deutsche Thomson-Brandt Gmbh | Signalverarbeitungssystem |
CN101026761A (zh) * | 2006-02-17 | 2007-08-29 | 中国科学院自动化研究所 | 一种具有最小误差的快速变尺寸块匹配的运动估计方法 |
CN101031085A (zh) * | 2007-03-30 | 2007-09-05 | 中国联合通信有限公司 | 一种移动终端帧动画的处理方法 |
CN101656877A (zh) * | 2008-08-19 | 2010-02-24 | 新奥特(北京)视频技术有限公司 | 一种改进的图片序列生成动画文件的方法 |
-
2014
- 2014-12-30 CN CN201410849750.6A patent/CN104732574B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991000671A1 (de) * | 1989-06-30 | 1991-01-10 | Deutsche Thomson-Brandt Gmbh | Signalverarbeitungssystem |
CN101026761A (zh) * | 2006-02-17 | 2007-08-29 | 中国科学院自动化研究所 | 一种具有最小误差的快速变尺寸块匹配的运动估计方法 |
CN101031085A (zh) * | 2007-03-30 | 2007-09-05 | 中国联合通信有限公司 | 一种移动终端帧动画的处理方法 |
CN101656877A (zh) * | 2008-08-19 | 2010-02-24 | 新奥特(北京)视频技术有限公司 | 一种改进的图片序列生成动画文件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104732574A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104732574B (zh) | 一种角色游戏的压缩方法及装置 | |
CN102800065B (zh) | 基于二维码识别跟踪的增强现实设备及方法 | |
CN109658484A (zh) | 一种动画自动生成方法及动画自动生成系统 | |
CN102521843B (zh) | 一种基于流形学习的三维人体运动分析与合成方法 | |
CN102629397B (zh) | 一种基于三轴陀螺仪的手机彩票随机选号方法 | |
CN108492338B (zh) | 动画文件的压缩方法、装置、存储介质和电子装置 | |
CN106231205A (zh) | 增强现实移动终端 | |
CN104159120B (zh) | 一种视频稳像方法、装置及系统 | |
CN103379333B (zh) | 编解码方法、视频序列码流的编解码方法及其对应的装置 | |
CN103942258B (zh) | 基于道路编码的街景影像存储方法及装置 | |
CN103927779B (zh) | 一种基于配置的二维动画生成方法 | |
CN105549847B (zh) | 一种歌曲播放界面的图片显示方法及用户终端 | |
CN106227881A (zh) | 一种信息处理方法及服务器 | |
CN106131550A (zh) | 播放多媒体文件的方法及装置 | |
CN104899835A (zh) | 基于盲模糊估计与锚定空间映射的图像超分辨处理方法 | |
CN109086105A (zh) | 一种页面布局转换方法、装置及电子设备 | |
CN107888970A (zh) | 视频处理方法、装置、嵌入式设备及存储介质 | |
CN106168959A (zh) | 网页布局方法及装置 | |
CN102024025A (zh) | 一种移动富媒体应用中大数据量压缩包的解压方法 | |
CN102136154A (zh) | 一种动漫制作方法及装置 | |
CN109376120A (zh) | 一种内存优化的数据文件格式转化方法、装置及存储介质 | |
CN103076874B (zh) | 一种改善计算机视觉体感输入设备高延迟的方法及系统 | |
CN103973310A (zh) | 一种基于异或逻辑运算折半划分的测试数据压缩方法 | |
CN106998489A (zh) | 一种焦点越界搜索方法及装置 | |
CN106296759B (zh) | 一种三维骨骼动画压缩方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |