一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

动画文件简化方法、装置、设备及存储介质与流程

2022-04-27 02:48:24 来源:中国专利 TAG:


1.本发明涉及文件管理技术领域,尤其涉及一种动画文件简化方法、装置、设备及存储介质。


背景技术:

2.目前随着显卡等硬件技术的发展,诸如游戏等应用程序的画面清晰度与分辨率也提高,在诸如游戏等应用程序中集成大量的高清资源,使得应用程序安装包过大,同时,应用程序里各种各样逼真的动作也加大了内存的消耗。
3.目前一些主流节省内存消耗的方法是:压缩资源贴图格式,减少模型面数。但这种方法或多或少会影响画质表现。因此,在不影响画质表现的情况下,如何减少应用程序对内存的消耗,成为一个重要的课题。


技术实现要素:

4.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明实施例提出一种动画文件简化方法,旨在实现在不影响画质表现的情况下,有效地减少应用程序对内存的消耗。
5.第一方面,本发明实施例提供一种动画文件简化方法,包括步骤:
6.根据动画文件管理类型,以相应的文本方式打开动画文件;
7.基于预设的匹配规则获取所述动画文件中的数值型数据;
8.确定所述数值型数据对应的预设精度的第一数值;
9.将所述动画文件中的所述数值型数据替换为所述第一数值,保存所述动画文件。
10.根据本发明实施例的动画文件简化方法,至少具有如下有益效果:按照动画文件管理类型以文本方式打开动画文件,对动画文件中的数值型数据的精度进行设定,在不影响画质表现的情况下,可有效地降低动画文件的原始大小,使得诸如游戏等应用程序在运行时降低了内存的消耗,提高了应用程序的性能。
11.根据本发明的一些实施例,所述根据动画文件管理类型,以相应的文本方式打开动画文件包括:若所述动画文件管理类型为第一类型,则基于第一后缀名,通过目录检索确定第一动画文件目录,通过文件流打开所述第一动画文件目录对应的所述动画文件;以及,通过所述第一后缀确定所述预设匹配规则。不同的后缀名所对应的文件不同,其数值类型或匹配规则有可能不同,而对应的数值处理可能有不同的处理方式,因此,通过后缀名确定动画文件,便于处理该动画文件所对应的所有文件,防止遗漏,另外,也不会错误地打开其他后缀名对应的文件,避免因不同文件的处理方式不同而造成结果出现偏差。
12.根据本发明的一些实施例,所述根据动画文件管理类型,以相应的文本方式打开动画文件并获取相应的预设匹配规则包括:若所述动画文件管理类型为第二类型,则通过第一接口确定第二动画文件目录,并通过第二接口打开所述第二动画文件目录对应的所述动画文件。通过第一接口确定第二动画文件目录,便于统一处理所有动画文件,防止遗漏。
13.根据本发明的一些实施例,所述基于匹配规则获取所述动画文件中的数值型数据包括:根据所述数值型数据的计数方法的类型,确定相应的所述匹配规则;根据所述匹配规则从所述动画文件中获取所述数值型数据。通过根据数值型数据的计数方法的类型的不同,配置相应的匹配规则,可以从动画文件中查找出各种计算方法类型的数值型数据,有效防止遗漏,可使动画文件变得更小,从而更进一步地减少应用程序运行时的内存消耗,提升应用程序性能。
14.根据本发明的一些实施例,所述数值型数据的计数方法包括:非科学计数法和科学计数法。本发明的实施例不仅可以处理诸如浮点数等非科学计算法的数值型数据,还可以处理科学计数法的数值型数据,对动画文件中的数值型数据覆盖全面,有效防止遗漏,可使动画文件变得更小,从而更进一步地减少诸如游戏等应用程序运行时的内存消耗,提升应用程序性能。
15.根据本发明的一些实施例,所述根据所述匹配规则从所述动画文件中获取所述数值型数据包括:对所述动画文件进行全文扫描或逐行扫描,通过所述匹配规则获取所述数值型数据。本发明的实施例可以灵活地对动画文件进行扫描,获取数值型数据。
16.根据本发明的一些实施例,所述确定所述数值型数据对应的预设精度的第一数值包括:根据预设的规则,保留所述数值型数据小数点后的预设位,得到所述第一数值。保留动画文件中的数值型数据小数点的预设位,可以在不影响画质表现的情况下,缩小动画文件。
17.根据本发明的一些实施例,所述确定所述数值型数据对应的预设精度的第一数值还包括:若检测到所述数值型数据的绝对值小于第一预设值,则确定所述第一数值为0。根据第一预设值,将动画文件中的数值型数据中趋近为0的数值设置为0,可以在不影响画质表现的情况下,缩小动画文件。
18.第二方面,本发明实施例提供一种动画文件简化装置,包括:
19.文件打开模块,用于根据动画文件管理类型,以相应的文本方式打开动画文件;
20.数值查找模块,用于基于预设的匹配规则获取所述动画文件中的数值型数据;
21.数值调整模块,用于确定所述数值型数据对应的预设精度的第一数值;
22.文件保存模块,用于将所述动画文件中的所述数值型数据替换为所述第一数值,保存所述动画文件。
23.根据本发明实施例的动画文件简化装置,至少具有如下有益效果:按照动画文件管理类型以文本方式打开动画文件,对动画文件中的数值型数据的精度进行设定,在不影响画质表现的情况下,可有效地降低动画文件的原始大小,使得应用程序在运行时降低了内存的消耗,提高了应用程序运行的性能。
24.根据本发明的一些实施例,还包括:规则配置模块,用于根据所述数值型数据的计数方法的类型,配置相应的所述匹配规则。通过根据数值型数据的计数方法的类型的不同,配置相应的匹配规则,可以从动画文件中查找出各种计算方法类型的数值型数据,有效防止遗漏,可使动画文件变得更小,从而更进一步地减少应用程序运行时的内存消耗,提升应用程序性能。
25.第三方面,本发明实施例提供一种设备,包括处理器以及与所述处理器耦接的存储器,所述存储器存储有可被所述处理器执行的程序指令,所述处理器执行所述存储器存
储的所述程序指令时实现第一方面所述的动画文件简化方法。
26.第四方面,本发明实施例提供一种存储介质,所述存储介质内存储有程序指令,所述程序指令被处理器执行时实现能够实现第一方面所述的动画文件简化方法。
27.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
28.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
29.图1是本发明实施例的方法的流程示意图。
30.图2是本发明实施例的方法中打开动画文件的流程之一的示意图。
31.图3是本发明实施例的方法中打开动画文件的流程之二的示意图。
32.图4是本发明实施例的方法中从动画文件中获取数值型数据的流程示意图。
33.图5是本发明实施例的装置之一的示意框图。
34.图6是本发明实施例的装置之一的示意框图。
35.图7是本发明实施例的设备的示意框图。
36.图8是本发明实施例的存储介质的示意框图。
具体实施方式
37.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。“第一”、“第二”等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。在本后续的描述中,对方法步骤的连续标号是为了方便审查和理解,结合本发明的整体技术方案以及各个步骤之间的逻辑关系,调整步骤之间的实施顺序并不会影响本发明技术方案所达到的技术效果。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
38.实施例1
39.参照图1,本实施例公开了一种动画文件简化方法,包括以下步骤s100至步骤s400。
40.步骤s100,根据动画文件管理类型,以相应的文本方式打开动画文件。
41.具体地,根据动画文件管理的类型,调用相应的接口以文本方式打开动画文件。
42.例如,以游戏为例,动画文件的管理是通过游戏引擎来完成的。针对某一待测游戏,可以根据游戏引擎类型获取该游戏下的动画文件所在的动画文件目录,然后遍历这些动画文件目录,依次打开所有的动画文件,对每一个动画文件执行后述的步骤s200至s300。也可以根据文件更新记录,获取本次测试期间变更的动画文件列表,根据游戏引擎的类型,调用相应的接口以文本方式打开动画文件。此外,也可以给出指定动画文件的路径,以文本
方式打开该动画文件。
43.以下将以游戏为例,说明如何对某一游戏下所有的动画文件进行处理。
44.若游戏引擎的类型为第一类型,参照图2,包括以下步骤:
45.步骤s111,基于第一后缀名,通过目录检索确定第一动画文件目录;
46.步骤s112,通过文件流打开第一动画文件目录对应的动画文件。
47.以unity引擎(一种实时3d互动内容创作和运营平台)为例,其动画文件的后缀名为“.anima”,相当于第一后缀名为“.anima”。通过目录检索出以“.anima”为后缀名的所有文件,得到第一动画文件目录。该第一动画文件目录中包括至少一个动画文件的路径信息。该至少一个动画文件的路径信息,例如,“e:\path\a.anima”。其中该路径信息可以是绝对路径(即完整路径),也可以是相对路径。相对路径是相对于设定位置开始的路径。例如,当设定位置为“e:”时,动画文件“e:\path\a.anima”的相对路径为“path\a.anima”。然后通过c#(unity所使用的脚本语言)自带的filestream以文件流的方式打开动画文件。
48.若游戏引擎的类型为第二类型,参照图3,包括以下步骤:
49.步骤s121,通过游戏引擎对应的第一接口确定第二动画文件目录;
50.步骤s122,通过游戏引擎对应的第二接口打开第二动画文件目录对应的动画文件。
51.以ue4(虚幻4引擎,由epic games公司推出的一款游戏开发引擎)为例,首先,导入以下处理文件的头文件:
52.#include"platformfilemanager.h"
53.#include"filehelper.h"
54.然后,通过platformfilemanager.getplatformfile()找到对应的第二动画文件目录。第二动画文件目录中包括至少一个动画文件的路径地址。然后,通过filehelper中的相应的应用程序接口(api,application programming interface)打开动画文件。该应用程序接口相当于第二接口。
55.步骤s200,基于预设的匹配规则获取动画文件中的数值型数据。
56.具体地,参照图4,包括以下步骤:
57.步骤s210,根据数值型数据的计数方法的类型,确定相应的匹配规则。
58.具体地,本发明的实施例中,数值型数据的计数方法包括:非科学计数法和科学计数法。在科学计数法中,为了使计数公式简便,通过用带“e”的格式表示。例如:1.03乘10的8次方,可简写为“1.03e 08”的形式,其中“e”是exponent(指数)的缩写。有时,“e”也以小写的“e”的形式出现。
59.对于非科学计数法计数的数值型数据,例如,其匹配规则可以设定为:(正或负符号) (至少一个数字) (小数点) 至少一个数字;其中,括号表示可选项,即可以有这一项,也可以没有这一项。此处,“ ”并不意味着数值相加,而是表示字符相邻的关系,匹配规则中的数字表示“0”~“9”中这9个数字中的任一个。例如,0.23即为“一个数字 小数点 两个数字”的形式。
60.对于科学计数法计数的数值型数据,例如,其匹配规则可以设定为:(正或负符号) (至少一个数字) (小数点) 至少一个数字 计数符号 正负符号 至少一个数字,其中,计数符号为“e”或者“e”。
61.上述的预设的匹配规则除了包括正则表达式以外,还可以包括其他规则,例如条件筛选等。该条件筛选例如以某种特殊符号(例如小数点符号.)作为筛选条件进行筛选等。
62.本发明的实施例中还可以设置多种匹配规则。此时,例如,可以基于其中一种匹配规则找出数值型数据并进行处理之后,然后再基于其他匹配规则再次获取数值型数据进行校验或验证,以再次确认所有的数值型数据均会被处理,防止部分数据遗漏。
63.步骤s220,根据匹配规则从动画文件中获取数值型数据。
64.从动画文件中获取数值型数据的方法,具体地,可以直接对动画文件进行全文扫描,通过匹配规则获取数值型数据,也可以对动画文件进行逐行扫描,按行通过匹配规则获取数值型数据。
65.以上述的非科学计数法对应的匹配规则为例,可以查出的数值型数据,例如:123、-1.23、 23.4等。
66.以上数的科学计数法对应的匹配规则为例,可以查出的数值型数据,例如:-6.36647e-10、1.03e 08等。
67.上述的匹配规则仅为说明性的示例,并非对本发明实施例的限定。例如,本实施例中,由于后述的步骤s300主要是对小数的精度进行约束,因此,可以在本步骤s200中调整匹配规则,仅提取出小数,或者仅提取出小数点后超过一定位数的小数。例如,以上述非科学计数法对应的匹配规则为例,可以将其调整为:(正或负符号) (至少一个数字) 小数点 至少八个数字。
68.此外,本步骤s200中也可以将非科学计数法对应的匹配规则及科学计数法对应的匹配规则融合为同一个规则,例如:(正或负符号) (至少一个数字) 小数点 至少一个数字 (计数符号 正负符号 至少一个数字);其中,计数符号为“e”或者“e”;括号表示可选项,即可以有这一项,也可以没有这一项。
69.本步骤通过匹配规则,可以方便地获取动画文件中的所有数值型数据,以便在下一步骤s300中进行精度约束。
70.步骤s300,确定数值型数据对应的预设精度的第一数值。
71.具体地,根据预设的规则,保留该数值型数据小数点后的预设位,得到第一数值。保留小数点后的预设位,例如,保留小数点后5或6位。上述预设规则为保留小数位时超出预设位的小数位的处理方法,包括:例如,进一法,去尾法和四舍五入法等。以-0.43142213333为例,假定预设位为5位,若预设规则被配置为四舍五入法,则对应的第一数值为-0.43142;若预设规则被配置为进一法,则对应的第一数值为-0.43143;若预设规则被配置为去尾法,则对应的第一数值为-0.43142。
72.此外,若检测到数值型数据的绝对值小于第一预设值,则确定第一数值为0。例如,对于数值型数据-6.36647e-10,由于其绝对值小于1.0e-8,则直接令其对应的第一数值为0。动画文件的关键帧信息中出现该数值-6.36647e-10,其对应的动画在画质表现时对人类肉眼与0相比是无任何差异的,但其精度高达小数点后十几位,会增大动画文件的大小,并在运行时加大内存消耗。因此,令其直接为0,可有效地减少动画文件的大小,进而减少诸如游戏等包含动画文件的应用程序运行时内存的消耗。
73.步骤s400,将动画文件中的数值型数据替换为第一数值,保存动画文件。
74.具体地,对于每个数值型数据,在获取到对应的第一数值后,将该第一数值替换至
动画文件中该数值型数据出现的位置,然后保存动画文件。
75.通过上述方法,本发明的实施例可以按照动画文件管理类型以文本方式打开动画文件,对动画文件中的数值型数据的精度进行设定,在不影响画质表现的情况下,可有效地降低动画文件的原始大小,使得诸如游戏等包含动画文件的应用程序在运行时降低了内存的消耗,提高了应用程序的性能。
76.本发明实施例的方法,除了可以针对动画文件中的数值型数据进行数据处理,事实上也可以针对计算型函数。首先,例如,通过预设的匹配规则筛选出动画文件中的函数。然后,通过函数名称或者返回值的类型筛选出计算型函数。获取计算型函数或其返回值后,可以编写相应的代码段对该计算型函数或其返回值进行上述步骤s100至s300的处理、或者调用相应的接口对该计算型函数或其返回值进行上述步骤s100至s300的处理。然后将相应的代码替换该计算型函数,或添加到适当的位置,以达到对计算型函数的计算结果也可以进行简化处理的目的。
77.实施例2
78.参照图5和图6,本实施例提供一种装置,包括:文件打开模块610、数值查找模块620、数值调整模块630和文件保存模块640。
79.文件打开模块610接收动画文件管理类型,根据动画文件管理类型,以相应的文件方式打开动画文件。数据查找模块620对于打开的动画文件,基于预设的匹配规则获取动画文件中的数值型数据,并将获取到的数值型数据传送给数值调整模块630。数值调整模块630对接收到的数值型数据进行精度调整,以获取预设精度的第一数值。文件保存模块640将动画文件中的数值型数据替换为第一数值并保存该动画文件。
80.参照图6,本发明的一些实施例的装置中,还包括:规则配置模块650。规则配置模块650按照数值型数据的计数方法的类型,配置对应的匹配规则。配置的方法可以是选择设定好的匹配规则,也可以自定义相应的匹配规则。
81.希望理解的是,为了避免赘述,本实施例未涉及的内容可参照实施例1。
82.本实施例的设备,与实施例1类似地,按照动画文件管理类型以文本方式打开动画文件,对动画文件中的数值型数据的精度进行设定,在不影响画质表现的情况下,可有效地降低动画文件的原始大小,使得诸如游戏等包含动画文件的应用程序在运行时降低了内存的消耗,提高了应用程序运行的性能。
83.实施例3
84.参照图7,本实施例提供一种设备,包括处理器710以及与处理器710耦接的存储器720,存储器720存储有可被处理器710执行的程序指令,处理器710执行存储器720存储的程序指令时实现实施例1的微码升级方法。其中,处理器710还可以称为cpu(central processing unit,中央处理单元)。处理器710可能是一种集成电路芯片,具有信号的处理能力。处理器710还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器,或者,通用处理器还可以是任何常规的处理器等。存储器720可包括各种组件(例如,机器可读介质),包括但不限于随机存取存储器组件、只读组件及其任意组合。存储器720还可包括:(例如,存储于一个或多个机器可读介质的)指令(例如,软件);该指令实现本发明实施例的方法。
85.希望理解的是,为了避免赘述,本实施例未涉及的内容可参照实施例1。
86.本实施例的设备,与实施例1类似地,按照动画文件管理以文本方式打开动画文件,对动画文件中的数值型数据的精度进行设定,在不影响画质表现的情况下,可有效地降低动画文件的原始大小,使得诸如游戏等包含动画文件的应用程序在运行时降低了内存的消耗,提高了应用程序运行的性能。
87.实施例4
88.请参照图8,本实施例提供一种存储介质,存储介质内存储有程序指令810,程序指令810被处理器执行时实现能够实现实施例1的动画文件简化方法。希望理解的是,为了避免赘述,本实施例未涉及的内容可参照实施例1。
89.本实施例的存储介质,与实施例1类似地,按照动画文件管理类型以文本方式打开动画文件,对动画文件中的数值型数据的精度进行设定,在不影响画质表现的情况下,可有效地降低动画文件的原始大小,使得诸如游戏等包含动画文件的应用程序在运行时降低了内存的消耗,提高了应用程序运行的性能。
90.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
91.在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质(简称存储介质)上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机可读介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
92.以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献