动画处理方法和装置

申请号 CN201610027027.9 申请日 2016-01-15 公开(公告)号 CN105447902A 公开(公告)日 2016-03-30
申请人 网易(杭州)网络有限公司; 发明人 裴永超;
摘要 本 发明 公开了一种动画处理方法和装置。其中,该方法包括:通过在制图工具中调用命名工具对多个部件按照预定规则进行命名,并将多个部件分别导出为图片文件;通过切图工具对多个部件中每个部件对应的图片文件中的非该部件的图片部分进行 切除 得到切图文件,并记录该部件在切除之前图片中的 位置 信息;将多个部件对应的切图文件及位置信息导入到动画库中,通过重建工具根据每个切图文件的位置信息对切图文件进行重排,得到目标图像;通过部件选择工具设置目标图像中的需要挂载动画的部件,并进行动画效果的加载。本发明解决了 现有技术 中由于动画制作相对传统导致动画制作过程较繁琐的技术问题。
权利要求

1.一种动画处理方法,其特征在于,包括:
通过在制图工具中调用命名工具对多个部件按照预定规则进行命名,并将所述多个部件分别导出为图片文件,其中,所述多个部件是使用所述制图工具从原始资源中拆分出的,所述多个部件位于不同的层中;
通过切图工具对所述多个部件中每个部件对应的图片文件中的非该部件的图片部分进行切除得到切图文件,并记录该部件在切除之前图片中的位置信息;
将所述多个部件对应的切图文件及位置信息导入到动画库中,通过重建工具根据每个所述切图文件的位置信息对所述切图文件进行重排,得到目标图像;
通过部件选择工具设置所述目标图像中的需要挂载动画的部件,并进行动画效果的加载。
2.根据权利要求1所述的方法,其特征在于,通过调用所述命名工具对所述多个部件按照预定规则进行命名包括:
在调用所述命名工具之后,提示输入前缀;
在用户输入所述前缀之后,将所述前缀作为所述多个部件中每个部件的名字的一部分对所述每个部件进行命名。
3.根据权利要求2所述的方法,其特征在于,所述每个部件的名字包括:所述前缀、部件的序号、部件的名称。
4.根据权利要求1所述的方法,其特征在于,将所述多个部件导出为所述图片文件包括:
根据所述动画的需要对所述多个部件的尺寸进行调整,并将调整尺寸后的所述多个部件通过脚本导出到所述图片文件中。
5.根据权利要求1所述的方法,其特征在于,对所述目标图像中的需要挂载动画的部件挂载动画效果,并进行动画加载包括:
通过所述部件选择工具,提示输入需要挂载动画的部件,其中,提示输入以下至少之一:部件名称、选择部件、部件注释;
在用户根据提示输入之后,设置需要加载动画效果的部件,并进行动画加载。
6.根据权利要求5所述的方法,其特征在于,通过所述部件选择工具提示输入还包括:
选择的部件的全局K选项、选择的部件的局部K帧选项;其中,选择所述全局K帧选项和选择所述局部K帧选项包括以下至少之一:选择所述全局K帧选项和所述局部K帧选项均为关闭、选择所述全局K帧选项为真和选择所述局部K帧选项为假、选择所述全局K帧选项为假和选择所述局部K帧选项为真。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
复制与所述目标图像的部件相同且皮肤不同的图像至所述图片文件中,其中,所述部件为所述多个部件中的至少一个部件;
通过动画数据传递工具将所述目标对象的部件上的动画效果传递至所述图像的部件中。
8.根据权利要求1或7所述的方法,其特征在于,所述方法还包括:
通过调用动画数据传递工具,提示输入待移动部件的移动初始位置和移动终止位置,并提示选择选择全部帧数据偏移或局部帧数据偏移,其中,所述待移动部件为所述多个部件中的至少一个;
在用户根据提示输入之后,移动所述待移动部件至所述终止位置。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
调用特效挂接工具中插入特效序列,并提示输入以下至少之一:插入片段特效、插入全帧特效、需要挂载特效序列的部件、特效序列挂接层;
在用户根据提示输入之后,设置所述需要挂载特效序列的部件挂载所述特效序列。
10.根据权利要求9所述的方法,其特征在于,调用所述特效挂接工具中插入特效序列包括以下至少之一:
挂接一个标签,其中,所述标签用于指示在应用中找到与标签对应的特效进行挂接;
将所述特效序列直接加入到特效序列挂接层中。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对加载所述动画效果之后的所述目标图像导入到测试工具中进行测试,并输出测试结果。
12.一种动画处理装置,其特征在于,包括:
命名单元,用于通过在制图工具中调用命名工具对多个部件按照预定规则进行命名,并将所述多个部件分别导出为图片文件,其中,所述多个部件是使用所述制图工具从原始资源中拆分出的,所述多个部件位于不同的层中;
切割单元,用于通过切图工具对所述多个部件中每个部件对应的图片文件中的非该部件的图片部分进行切除得到切图文件,并记录该部件在切除之前图片中的位置信息;
导入单元,用于将所述多个部件对应的切图文件及位置信息导入到动画库中,通过重建工具根据每个所述切图文件的位置信息对所述切图文件进行重排,得到目标图像;
挂载单元,用于通过部件选择工具设置所述目标图像中的需要挂载动画的部件,并进行动画效果的加载。

说明书全文

动画处理方法和装置

技术领域

[0001] 本发明涉及游戏领域,具体而言,涉及一种动画处理方法和装置。

背景技术

[0002] 随着手机平台游戏潮流的到来,2D游戏开始流行起来。但是,基于2D的骨骼动画制作一直没有一个好的方案,现有的骨骼动画制作的方案缺少系统的工具处理流程,由于缺少系统的工具处理流程,将导致研发人员在制作2D动画的过程中,包括很多繁琐的操作,这将会影响研发人员对2D动画效果的制作,同时也影响了用户的体验。
[0003] 针对上述的问题,目前尚未提出有效的解决方案。

发明内容

[0004] 本发明实施例提供了一种动画处理方法和装置,以至少解决现有技术中由于动画制作相对传统导致动画制作过程较繁琐的技术问题。
[0005] 根据本发明实施例的一个方面,提供了一种动画处理方法,包括:通过在制图工具中调用命名工具对多个部件按照预定规则进行命名,并将所述多个部件分别导出为图片文件,其中,所述多个部件是使用所述制图工具从原始资源中拆分出的,所述多个部件位于不同的层中;通过切图工具对所述多个部件中每个部件对应的图片文件中的非该部件的图片部分进行切除得到切图文件,并记录该部件在切除之前图片中的位置信息;将所述多个部件对应的切图文件及位置信息导入到动画库中,通过重建工具根据每个所述切图文件的位置信息对所述切图文件进行重排,得到目标图像;通过部件选择工具设置所述目标图像中的需要挂载动画的部件,并进行动画效果的加载。
[0006] 进一步地,通过调用所述命名工具对所述多个部件按照预定规则进行命名包括:在调用所述命名工具之后,提示输入前缀;在用户输入所述前缀之后,将所述前缀作为所述多个部件中每个部件的名字的一部分对所述每个部件进行命名。
[0007] 进一步地,所述每个部件的名字包括:前缀、部件的序号、部件的名称。
[0008] 进一步地,将所述多个部件导出为所述图片文件包括:根据所述动画的需要对所述多个部件的尺寸进行调整,并将调整尺寸后的所述多个部件通过脚本导出到所述图片文件中。
[0009] 进一步地,对所述目标图像中的需要挂载动画的部件挂载动画效果,并进行动画加载包括:通过所述部件选择工具,提示输入需要挂载动画的部件,其中,提示输入以下至少之一:部件名称、选择部件、部件注释;在用户根据提示输入之后,设置需要加载动画效果的部件,并进行动画加载。
[0010] 进一步地,通过所述部件选择工具还包括:选择的部件的全局K选项、选择的部件的局部K帧选项;其中,选择所述全局K帧选项和选择所述局部K帧选项包括以下至少之一:选择所述全局K帧选项和所述局部K帧选项均为关闭、选择所述全局K帧选项为真和选择所述局部K帧选项为假、选择所述全局K帧选项为假和选择所述局部K帧选项为真。
[0011] 进一步地,所述方法还包括:复制与所述目标图像的部件相同且皮肤不同的图像至所述图片文件中,其中,所述部件为所述多个部件中的至少一个部件;通过动画数据传递工具将所述目标对象的部件上的动画效果传递至所述图像的部件中。
[0012] 进一步地,所述方法还包括:通过调用动画数据传递工具,提示输入待移动部件的移动初始位置和移动终止位置,并提示选择选择全部帧数据偏移或局部帧数据偏移,其中,所述待移动部件为所述多个部件中的至少一个;在用户根据提示输入之后,移动所述待移动部件至所述终止位置。
[0013] 进一步地,所述方法还包括:调用特效挂接工具中插入特效序列,并提示输入以下至少之一:插入片段特效、插入全帧特效、需要挂载特效序列的部件、特效序列挂接层;在用户根据提示输入之后,设置所述需要挂载特效序列的部件挂载所述特效序列。
[0014] 进一步地,调用所述特效挂接工具中插入特效序列包括以下至少之一:挂接一个标签,其中,所述标签用于指示在应用中找到与标签对应的特效进行挂接;将所述特效序列直接加入到特效序列挂接层中。
[0015] 进一步地,所述方法还包括:对加载所述动画效果之后的所述目标图像导入到测试工具中进行测试,并输出测试结果。
[0016] 根据本发明实施例的另一方面,还提供了一种动画处理装置,包括:命名单元,用于通过在制图工具中调用命名工具对多个部件按照预定规则进行命名,并将所述多个部件分别导出为图片文件,其中,所述多个部件是使用所述制图工具从原始资源中拆分出的,所述多个部件位于不同的层中;切割单元,用于通过切图工具对所述多个部件中每个部件对应的图片文件中的非该部件的图片部分进行切除得到切图文件,并记录该部件在切除之前图片中的位置信息;导入单元,用于将所述多个部件对应的切图文件及位置信息导入到动画库中,通过重建工具根据每个所述切图文件的位置信息对所述切图文件进行重排,得到目标图像;挂载单元,用于通过部件选择工具设置所述目标图像中的需要挂载动画的部件,并进行动画效果的加载。
[0017] 在本发明实施例中,采用通过在制图工具中调用命名工具对多个部件按照预定规则进行命名,并将所述多个部件分别导出为图片文件,其中,所述多个部件是使用所述制图工具从原始资源中拆分出的,所述多个部件位于不同的层中;通过切图工具对所述多个部件中每个部件对应的图片文件中的非该部件的图片部分进行切除得到切图文件,并记录该部件在切除之前图片中的位置信息;将所述多个部件对应的切图文件及位置信息导入到动画库中,通过重建工具根据每个所述切图文件的位置信息对所述切图文件进行重排,得到目标图像;通过部件选择工具设置所述目标图像中的需要挂载动画的部件,并进行动画效果的加载的方式,通过调用制图工具中的命名工具对多个部件进行命名,并导出每个部件的图片文件,再通过切图工具将导出的切图文件进行切图处理,得到切图文件以及每个部件在切图之间图片中的位置信息,进而根据重建工具将导入动画库中的切图文件和位置信息进行重排,得到目标图像,最后,对目标图像中需要挂载动画的部件加载动画效果,相对于现有技术中手动处理动画的方法,本发明采用系统的工具对动画进行处理,达到了自动完成动画处理的目的,从而实现了通过系统的工具实现动画制作的技术效果,进而解决了现有技术中由于动画制作相对传统导致动画制作过程较繁琐的技术问题。附图说明
[0018] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019] 图1是根据本发明实施例的一种动画的处理方法的流程图
[0020] 图2是根据本发明实施例的命名工具的显示界面的示意图;
[0021] 图3是根据本发明实施例的调整图片文件的尺寸的显示界面的示意图;
[0022] 图4是根据本发明实施例的导出工具的显示界面的示意图;
[0023] 图5a是根据本发明实施例的多个部件中任意部件的示意图;
[0024] 图5b是根据本发明实施例的多个部件中任意部件经过切图处理之后的图片文件的示意图;
[0025] 图6是根据本发明实施例的一键排层工具的显示界面的示意图;
[0026] 图7a是根据本发明可选实施例的一种目标图像的示意图;
[0027] 图7b是根据本发明可选实施例的图片文件封装为元件显示界面的示意图;
[0028] 图8是根据本发明实施例的一键排层的工作原理的示意图;
[0029] 图9是根据本发明实施例的一种部件选择工具的显示界面的示意图;
[0030] 图10a是根据本发明可选实施例的一种蓝色滚地兽的示意图;
[0031] 图10b是根据本发明可选实施例的一种黄色滚地兽的示意图;
[0032] 图11是根据本发明实施例的一种动画传递工具的显示界面的示意图;
[0033] 图12是根据本发明实施例的第二种动画传递工具的显示界面的示意图;
[0034] 图13是根据本发明实施例的第三种动画传递工具的显示界面的示意图;
[0035] 图14是根据本发明实施例的一种挂接特效工具的显示界面的示意图;
[0036] 图15是根据本发明实施例的另一种挂接特效工具的显示界面的示意图;
[0037] 图16是根据本发明实施例的一种标签挂接工具的显示界面的示意图;
[0038] 图17是根据本发明实施例的一种测试工具的测试原理的流程图;
[0039] 图18是根据本发明实施例的一种测试工具的显示界面的示意图;以及
[0040] 图19是根据本发明实施例的一种动画的处理装置的示意图。

具体实施方式

[0041] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0042] 需要说明的是,本发明的说明书权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0043] 根据本发明实施例,提供了一种动画处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0044] 图1是根据本发明实施例的一种动画处理的方法的流程图,如图1所示,该方法包括如下步骤:
[0045] 步骤S102,通过在制图工具中调用命名工具对多个部件按照预定规则进行命名,并将多个部件分别导出为图片文件,其中,多个部件是使用制图工具从原始资源中拆分出的,多个部件位于不同的层中。
[0046] 步骤S104,通过切图工具对多个部件中每个部件对应的图片文件中的非该部件的图片部分进行切除得到切图文件,并记录该部件在切除之前图片中的位置信息。
[0047] 步骤S106,将多个部件对应的切图文件及位置信息导入到动画库中,通过重建工具根据每个切图文件的位置信息对切图文件进行重排,得到目标图像。
[0048] 步骤S108,通过部件选择工具设置目标图像中的需要挂载动画的部件,并进行动画效果的加载。
[0049] 在本发明实施例中,通过调用制图工具中的命名工具对多个部件进行命名,并导出每个部件的图片文件,再通过切图工具将导出的切图文件进行切图处理,得到切图文件以及每个部件在切图之间图片中的位置信息,进而根据重建工具将导入动画库中的切图文件和位置信息进行重排,得到目标图像,最后,对目标图像中需要挂载动画的部件加载动画效果,相对于现有技术中手动处理动画的方法,上述步骤采用成系统的工具对动画进行处理,达到了自动完成动画处理的目的,从而实现了通过系统的工具实现动画制作的技术效果,进而解决了现有技术中由于动画制作相对传统导致动画制作过程较繁琐的技术问题。
[0050] 在一个可选实施方式中,在前期可以预先安装系统工具,并通过该系统工具采完成整个动画的制作,其中,系统工具可以有很多种,在本发明实施例中,可以采用的系统工具为flashcs6DragonBonesDesignPanel(开源的2D骨骼解决方案)G7Go工具集的Python2.4或者之上的版本。
[0051] 对多个部件进行命名的方式可以有很多种,在本发明实施方式中,可以通过调用制图工具中的命名工具对多个部件按照预定规则进行命名,具体地,可以在调用命名工具之后,提示输入前缀,然后,在用户输入前缀之后,将前缀作为多个部件中每个部件的名字的一部分,对每个部件进行命名。
[0052] 在本发明实施方式中,在对多个部件按照预设预定规则进行命名之前,可以对业务人员在制图工具(例如,PhotoShop工具)中已创作的原始图像进行处理,具体处理过程为:首先前期设计完原始图像之后,通过该PhotoShop工具对原始图像进行分层处理,即按照原始图像的图层进行拆分;然后,为了提高拆分之后图层的辨识度,通过该PhotoShop工具对拆分之后图层中遮挡部分的图素进行补全。
[0053] 至此,原始图像的多个部件的拆分已经完成,在完成输出前,还需要使用PhotoShop工具中提供的命名工具对多个部件名称规范化,可以在如图2所示的命名工具的显示界面中输入多个部件的前缀名称,其中,可以在图2中“层的前缀”处输入该多个部件的前缀名称,例如输入的前缀名称可以为“j iaxuekulou”,在用户输入完该前缀之后,点击如图2中所示的“一键三级排列”按钮,命名工具将自动完成多个部件名称的规范化,将该前缀名称(例如“jiaxuekulou”)作为多个部件中的每个部件的名字的一部分。需要说明的是,在本发明实施例中,可以通过在PhotoShop的文件中选择“脚本”,然后在“脚本”中选择“浏览”,通过“浏览”即可添加如图2所示的命名工具,其中,该命名工具的名称可以定义为:Pyc_LayerName.jsx。需要说明的是,该命名工具为研发人员专设置的,用于对名称进行规范化处理的工具,因此,通过调用脚本的方式在PhotoShop工具调用该命名工具。
[0054] 通每个部件的名字包括:前缀、部件的序号、部件的名称。需要说明的是,上述按照预定规则对每个部件的名称进行命名,其实就是把之前一段的名称改变成3段名称。其中,第一段名称可以为上述内容中添加的前缀、第二段名称可以为部件的序号、第三段名称可以为部件的名称。通常第一段名称是给程序员使用,用于该部件所在原始图像的名称,第二段名称是给程序使用,例如用于排列等计算,第三段名称是给美术人员使用。其中,该按照预设规则命名的名称可以为如下的格式:jiaxuekulou_6_tail,“jiaxuekulou”即为第一段名称,“6”即为第二段名称,“tail”即为第三段名称。
[0055] 需要说明的是,对于原始图像的多个部件,在通过命名工具进行命名之后,可以按照第二段名称的顺序进行排列,例如按照第二段名称的顺序从大到小排序,或者按照第二段名称的顺序从小到大排序。
[0056] 在按照命名工具对原始图像的多个部件进行命名之后,可以将多个部件导出格式为png的图片文件,导出图片文件的方式可以有很多种,在本发明实施方式中,可以首先根据动画的需要对多个部件的尺寸进行调整,然后,将调整尺寸后的多个部件通过脚本导出到图片文件中。
[0057] 在通过调用命名工具对原始图像的多个部件进行重新命名之后,还可以调整多个部件的尺寸,例如,在对多个部件进行命名之前,多个部件均被设计成了1024*1024像素的大小,最后根据游戏实际需要,可以将多个部件的大小设置成180*180像素。其中,可以根据如图3所示的工具界面调整多个部件的大小,可以在如图3所示的工具界面中选择使用自定义模板或者选择使用预设模板;还可以在该工具界面中选择多个部件调整之后的尺寸,例如,调整部件的宽度为180点,调整部件的长度为180点;还可以在该工具界面中选择多个部件的分辨率,例如,选择分辨率为72像素/英寸;还可以在该工具界面中选择重新采样类型,例如,“两次立方(较尖锐)(缩减)”。
[0058] 在对多个部件的大小进行调整之后,需将调整尺寸之后的多个部件导出到图片文件中,具体地,可以在PhotoShop的工具的脚本中调用“将图层导出到文件”的工具,并按照如图4所示的工具界面将调整尺寸之后的多个部件导出到文件中。在通过脚本调用如图4所示的工具界面时,该界面提示用户输入以下至少之一:填写要导出的目录;文件名前缀这里为空(即不填写);文件类型可以选取为“PNG-24”类型;设置透明区域为真;设置交错为假;设置裁剪图层为假;然后点击“点击运行”即可完成将调整尺寸之后的多个部件导出到文件中。
[0059] 通过在PhotoShop的工具的脚本中调用“将图层导出到文件”的工具将调整尺寸之后的多个部件导入到文件之后,每个部件输出的名称会根据该部件在制图工具中图层的深度来自动加入一些前缀,例如添加前缀之后的名称为:_0000s_0000_jiaxueklou_12_spine.png,但是,上述名称中的前缀部分“_0000s_0000_”是由“将图层导出到文件”的工具输出的,并且该前缀为不需要的前缀,因此将前缀“_0000s_0000_”删除。
[0060] 在将多个部件导出为图片文件之后,还可以通过切图工具对多个部件中每个部件对应的图片文件中的非该部件的图片部分进行切除得到切图文件,并记录该部件在切除之前图片中的位置信息。
[0061] 切图工具是该制图工具中很要用的一个环节,切图工具的主要作用是:把导出的图片文件中切割成小图,切割成小图之后,不仅减小了资源量,还为后面重建目标图像做准备;通过在PhotoShop的工具脚本中调用切图工具对导出的图片文件进行处理,导出的多个图片文件进行处理之后,均生成了一个切图文件和jsfl数据,其中,jsfl数据用于记录每个被切割后的小图在切图之前图片中的位置信息。如图5a所示,为多个部件中任一部件的图片文件,通过切图文件将该图片文件进行切图处理之后,如图5b所示,得到切割之后的小图。
[0062] 在本发明实施方式中,建立的jsfl数据中记录了一个数组,其中,该数组的变量为:G7GLOBALARRAY,且该变量中记录了切割后的小图在切图前图片文件中的位置信息。例如,对部件“spine4”进行切除处理,得到切割之后的小图,且记录切割之后的小图在切割之前图片文件中的位置坐标为:x=109.5,y=110.5,则变量G7GLOBALARRAY可以表示为:“jiaxueklou_0_spine4/109.5/110.5”。
[0063] 至此,多个部件的在导入动画库前已完成对多个部件的切图处理,建立了每个部件的切图文件和jsfl数据。
[0064] 需要说明的是,得到每个部件切图文件和jsfl数据之后,还需在该切图文件所在目录下建立一个fla文件。
[0065] 将多个部件对应的切图文件及jsfl数据中记录的位置信息导入到动画库中,通过重建工具根据每个切图文件的位置信息对切图文件进行重排,得到目标图像。
[0066] 根据切图文件和位置信息重建目标图像的方式可以有很多种,在本发明实施方式中,可以使用本制图工具中的重建工具,完成目标图像的建立。
[0067] 具体地,可以打开上述中已建立的fla文件,然后,把我们的切图文件和位置信息导入到该fla文件的库(即,动画库)中,并设置切图文件为无损方式,由于导出图片资源比较小,因此,在制作一些细节动画时候为了清晰度,所以设置切图文件为无损模式。其中,可以按照下述方式设置切图文件的无损模式:选择动画库中所有切图文件,然后右键点击属性,选择位图属性,最后设置位图属性为压缩、无损模式,点击“确定”即设置完成。
[0068] 设置切图文件的格式为无损格式之后,即可通过重建工具完成目标图像的重建。通过在制图工具中的窗口中选取其他面板,并在其他面板中选取G7Go工具集第二版的方式调用重建工具。根据调用的G7Go工具集第二版即可完成切图文件的重排,得到目标图像。
[0069] G7Go工具集第二版的显示界面如图6所示,当切图文件和位置信息导入至动画库中时,通过点击图6中的“一键排层”,即可完成切图文件的重新排层处理。在排层处理的过程中,每个切图文件均会封装成一个元件,并且该元件的名称和该切图文件的名称一样,之后会建立一个总的元件名称,并且该总的元件名称和fla文件的上级目录(即,工程名称)的名称一致,然后,通过调用jsfl数据中的位置信息完成已封装的多个元件自动的排层的处理操作,构建目标图像。以“jiaxuekulou”为例进行说明,图7a所示的为一键排层之后得到的“jiaxuekulou”的目标图像,图7b所示的为“jiaxuekulou”中的每个切图文件封装成一个元件之后的示意图,如图7b所示,“jiaxuekulou_12_spine”为封装好的一个元件,该元件与对应切图文件的名称一致。
[0070] 在本发明实施方式中,一键排层其实是根据已导入至动画库中的切图文件转换成元件,然后为每个元件批量建立图层,其中,图层的名称、元件的名称以及切图文件的名称均相同,这个规定很重要因为本发明使用的系统工具中的很多操作都是通过层找到切图文件或者元件的。
[0071] 在本发明实施方式中,重建工具的工作逻辑和重建工具的开发涉及到Actionscript3.0和jsfl这两种语言。其中,使用语言来完成相应地工具显示界面的逻辑,实现人机交互的友好的显示界面;jsfl是所有操作的逻辑,例如,完成切图文件的排层处理。
[0072] 图8所示为本发明实施例中提供的动画处理过程中一键排层的基本工作原理的示意图,如图8所示,切图工具对每个部件对应的图片文件中的非该部件的图片部分进行切除得到切图文件,通过计算机中的C盘书写jsfl文件,并通过该jsfl文件记录该部件在切除之前图片中的位置信息。重建工具使用Actionscript3.0语言通过MMExeute来调用jsfl数据中位置信息,并根据调用的jsfl数据驱动jsfl的一键排层的业务逻辑,实现切图文件的一键排层。
[0073] 至此,目标图像建立完成,接下来,可以对目标图像中的需要挂载动画的部件挂载动画效果,并进行动画加载,其中,挂载动画效果的方式可以有很多种,在本发明实施方式中,可以通过部件选择工具,提示输入需要挂载动画的部件,其中,提示输入以下至少之一:部件名称、选择部件、部件注释,然后,在用户根据提示输入之后,设置需要加载动画效果的部件,并进行动画加载。
[0074] 在本发明实施方式中,通过在制作工具的窗口中选择脚本,然后选择G7部件选择工具,进而通过该部件进行动画效果的挂载。图9所示为本发明实施例中G7部件选择工具的显示界面的示意图。如图9所示,每一横排为一组,每一组包括两个按钮(大按钮1和小按钮2)和一个文本框3,其中,“set”按钮(小按钮2)用于设定选择的部件名称,“大按钮1”用于当“set”里面有已设置的部件时,点击“大按钮1”可以进行部件的选择,“文本框”用于给“set”选择的部件添加一个注解,例如,图9中所示的“头”和“身体”等,如果未通过文本框添加该注解,则为“未定义”。其中,按钮的数量为多组,在图9中仅示出4组按钮。
[0075] 通过部件选择工具还包括:选择的部件的全局K帧选项、选择的部件的局部K帧选项;其中,选择全局K帧选项和选择局部K帧选项包括以下至少之一:选择全局K帧选项和局部K帧选项均为关闭、选择全局K帧选项为真,选择局部K帧选项为假、选择全局K帧选项为假,选择局部K帧选项为真。
[0076] 如图9所示,部件选择工具还要配合两个checked类进行使用,该checked类为:1、全局K帧;2、局部K帧。
[0077] 在本发明实施方式中,配合使用两个checked类包括以下三种方式:
[0078] 方式一:选取全局K帧1为off,选取局部K帧2为off,通过方式一表示选择所有帧均为当前帧;
[0079] 方式二:选取全局K帧1为false,选取局部K帧2为true,通过方式二表示对选取的帧进行K帧(关键帧);
[0080] 方式三:选取全局K帧1为true,选取局部K帧2为false,通过方式三表示对所有的帧均进行K帧(关键帧)。
[0081] 部件选择工具其实提供了快速选择K帧数据的方式,在本发明实施方式中,作为优选,一般会先设置全局K帧1为true,局部K帧2为true,在关键帧K好以后需要处理中间帧,这个时候我们需要设置全局K帧1为false,局部K帧2为true,最后不断细化不断的调节,只是更改动画的位置数据,而并不想在K关键帧,此时需要设置全局K帧1为false,局部K帧2为false。
[0082] 在本发明另一可选实施方式中,可以将目标图像中已添加的整体动画效果传递至另一图像中,还可以将目标图像中单个部件动画效果传递至另一图像的某一部件中。传递动画效果的方式可以有很多中,在本发明可选实施方式中,可以复制与目标图像的部件相同且皮肤不同的图像至图片文件中,其中,部件为多个部件中的至少一个部件,然后,通过动画数据传递工具将目标对象的部件上的动画效果传递至图像的部件中。
[0083] 假设,开发人员设计两个滚地兽,分别如图10a和图10b所示,其中,图10a中的滚地兽的颜色为蓝色,图10b中滚地兽的颜色为黄色。现研发人员已添加完成了一只蓝色的滚地兽的动画效果,希望将该蓝色滚地兽的动画效果传递至黄色滚地兽,此时,需将黄色滚地兽的所有部件复制到蓝色滚地兽的文件里面,蓝色滚地兽里面的切图文件会自动进行包含操作。
[0084] 现在仅需要开启“动画数据传递工具”就可以完成将蓝色滚地兽的动画效果传递至黄色滚地兽的传递工作。在本发明实施方式中,动画效果的传递包括整体动画效果的传递和局部动画效果的传递,其中,整体动画效果的传递可以为将蓝色滚地兽的整体动画效果传递给黄色的滚地兽,局部动画效果可以理解为将蓝色滚地兽的某一部件的动画效果传递至黄色滚地兽的某一部件。
[0085] 当传递整体动画效果时,可以在如图11所示的显示界面中设置“拾取色层”和“拾取库中角色”。“拾取角色层”用于设置待传递动画效果的图像,例如,黄色滚地兽(其中,黄色滚地兽的名称的前缀为qdgs2),只要点击选择黄色滚地兽的任意一个层,再点击“get”按钮之后,就会把该黄色滚地兽的前缀(qdgs2)拾取到对应的文本框中。在“拾取库中角色”选择已导入到库中的角色(例如,蓝色滚地兽),点击“get”按钮之后,蓝色滚地兽的前缀qdgs1拾取到对应的文本框中。需要说明的是,在本发明可选实施方式中,统一利用get方法,把当前选择的第一个层的名称的前缀放到对应的文本框中,例如,将当前选择的黄色滚地兽的第一个层的名称的前缀(qdgs2)拾取到对应的文本框中,拾取结果如图11所示。
[0086] 该动作数据传递工具除了上述整体换皮肤达到动画数据公用的目的之外,还提供了一种局部换肤达到数据公用的方式。当传递整体动画效果时,可以在如图12所示的显示界面中设置“拾取时间轴上的层”和“拾取库中的层”。如图12表示,“拾取时间轴上的层”表示待传递动画效果的图像中的某一部件,例如,黄色滚地兽的左臂;“拾取库中的元件”表示选取目标图像中的某一部件,例如蓝色滚地兽的左臂;通过点击“动作信息传递”,即可实现蓝色滚地兽的左臂的动画效果传递至黄色滚地兽的左臂。需要说明的是,在本发明实施例中,若希望将目标图像中多个部件的动画效果传递至另一图像中的多个部件中时,可以按照上述方式继续在图12中所示的界面中设置“拾取时间轴上的层”和“拾取库中的元件”。
[0087] 在本发明另一可选实施方式中,本发明提供的动画处理方法还可以实现目标图像的偏移,实现目标图像偏移的方式可以有很多种,在本发明可选实施方式,可以通过调用动画数据传递工具,提示输入待移动部件的移动初始位置和移动终止位置,并提示选择选择全部帧数据偏移或局部帧数据偏移,其中,待移动部件为多个部件中的至少一个,然后,在用户根据提示输入之后,移动待移动部件至终止位置。
[0088] 本发明可选实施方式中,可以记录一个相对位置信息,来遍历时间轴上每层每帧的第一个元素,进行目标图像的偏移操作。图13为本发明实施例中动画传递工具中移动目标图像的显示界面的示意图,如图13所示,如果目标图像中的任意一个部件需要进行偏移操作,在操作之前点击一下如13中所示的“移动前参考”按钮,点击该按钮之后,记录该部件的初始位置信息。然后点击“移动后参考”的按钮,此时就会在下方显示x轴和y轴的位置信息,设置移动的相对位置信息后,即可实现目标图像中任意部件的偏移。
[0089] 在本发明可选实施方式中,可以选择要处理的部件的全部帧数据都偏移,还可以选择该部件的层的局部帧数据偏移。如果是一段进行偏移那么需要勾选图13中所示显示界面中的“勾选对局部数据更改”按钮;如果需要对选择的层的全部帧的数据进行偏移,则不需要勾选“勾选对局部数据更改”按钮。最后,点击如图13中所示显示界面中的“执行偏移”的按钮完成偏移的操作。
[0090] 在本发明可选实施方式中,通过调用动画数据传递工具大大的提高动画数据公用,解决时间金钱双重成本,其中,偏移目标图像的任意一个部件还能做很多事情,比如动画数据的合并。例如,在某一项目中有一个僵尸走路,由于游戏玩法的改变,需要有一个僵尸组成一组形成连体僵尸,实现方法可以通过复制两个数据层,即通过复制僵尸的部件,并移动僵尸的部件到用户实际希望的位置就可以完美解决。
[0091] 在另一可选实施方式中,还可以为目标图像挂接特效,其中,可以调用特效挂接工具中插入特效序列,并提示输入以下至少之一:插入片段特效、插入全帧特效、需要挂载特效序列的部件、特效序列挂接层,然后,在用户根据提示输入之后,设置需要挂载特效序列的部件挂载特效序列。
[0092] 调用特效挂接工具中插入特效序列包括以下至少之一:挂接一个标签,其中,标签用于指示在应用中找到与标签对应的特效进行挂接;将特效序列直接加入到特效序列挂接层中。特效挂接的方式有很多种,可以采用标签挂接方式实现特效挂接,其中,如果挂接的特效变动比较大时,可以采用标签挂接的方式;还可以采用序列挂接的方式实现特效挂接,其中,如果挂接的特效在后期不需要升级,则可以采用序列挂接的方式。下面对上述两种挂接特效的方式进行说明。
[0093] 方式一:序列挂接
[0094] 例如,在一个运行的飞艇中,携带有导火线的燃油桶,当燃油桶发生爆炸时,播放的爆炸的火焰一般不会替换,但是爆炸效果有多种,总结来引线是比较适合做到flash文件中的,因此,此时采用序列挂接的方式实现特效的挂接。
[0095] 在本发明可选实施方式中,通过打开制图工具中的窗口,选择“其他面板”,在“其他面板”中选择G7go工具集第二版,并使用插入特效序列工具,根据该工具实现特效的挂接。
[0096] 图14为本发明实施例中特效挂接工具的显示界面的示意图,如图14所示,“插入片段特效”用于在选择的目标图像的某一部件上的帧插入库中已选择的一个序列,如果某一部件上的选择帧为20帧,但是库中选择特效为5帧,那就会循环插入4个特效序列。
[0097] “插入全帧特效”用于实现全帧插入,如果某一部件的全部帧长度为10帧,但是选择插入的序列为15张序列图,则表示挂接特效序列一个序列中的一个序列都没有使用完成。
[0098] “元件插入帧的步幅”,其中,“元件插入帧的步幅”默认序列的差距间隔是1,如果有特殊需求,则可以根据实际需要来设置,作为优选,一般选取“元件插入帧的步幅”为1,即设置使用一帧插入一幅图时,目标图像的动画效果比较流畅。
[0099] “特效挂接目标层”表示选择要在目标图像中的哪个部件上挂接特效,并选择该部件所在的图层,通过点击get完成目标层的制定。其中,制定目标层就是把该部件所在的图层复制一层,复制之后的图层的后缀名称是_pycRefLayer,然后,把所有的帧进行塌陷,其中,对所有的帧进行塌陷的目的主要是为了插入特效时,每帧都有一个参考距离。
[0100] “特效参考目标层”(即,特效序列挂接层),在图14中点击“特效参考目标层”对应的get按钮,就会在当前选择的部件层上面加入一个特效参考层(EffectRefTarget),在该层中会放入一个部件,该部件主要是获取挂接对象的位置信息,然后和“特效参考目标层”get出来层帧做对比。
[0101] “加入特效”会加入一个特效层这个层就是以txhp开始,用于查找当前层是不是已经有特效节点层,如果有会自动进行排序,并建立层。
[0102] “清除参考”,用于清除所有的参考层,做到工程文件的整理
[0103] 方式二:标签挂接
[0104] 调用特效挂接工具中插入挂接点(即,标签)的方式,并提示输入以下至少之一:需要挂载挂接点的部件、部件参考层,然后,在用户根据提示输入之后,设置需要挂载特效挂接点的部件。
[0105] 图15为本发明实施例中另一种特效挂接工具的显示界面的示意图,如图15所示,“部件挂接层”用于设置需要挂载挂接点的部件。其中,插入挂接点的方式为挂接一个挂接点,该挂接点是一个红色5*5的小方框,若目标图像中某一部件将会出现特效,则只需要在他临近的部件上挂接该挂节点就可以了,选择对应的部件层点击get,这样在文本框中就会获取到选择层的名字。
[0106] “部件参考层”用于建立一个参考层,并手工加入一个部件,确定一下特效挂接点位置。
[0107] “挂接”首先要在库中选择要挂接的挂接点,其中,该挂节点即为上述内容中的5*5的小方框,点击挂接之后,会以当前挂接点名称作为层的名称,建立挂阶层,该挂阶层即为挂接特效的位置。
[0108] 在本发明可选实施方式中,挂接标签为一个约定的事件形式,由美术人员事先进行挂接,程序需要在解析数据的时候,需执行该事件对应的功能。
[0109] 其中,挂接标签中约定的事件包括以下几种:
[0110] @DoSkillEffect,该事件通过相应地程序来控制,表示特效挂接万能节点,例如,挂接一盒特效武器;
[0111] @FootDown,用于定位步伐参考,例如,角色在行走过程中每次脚落地面都需要加入该标签,来计算每步之间的相对距离;
[0112] @PlayEffOne+name,用于控制特效播放依次;
[0113] @StopEff+name,用于控制特效随时停止播放,例如,在受到攻击时候,停止播放特效;
[0114] @PlayEff+name,用于不间断的播放特效,例如,持续播放影buff;
[0115] @Bullet+name,用于子弹挂接,是游戏特有的子弹类型。
[0116] 对于挂接特效本系统工具有专门的挂接工具。
[0117] 图16为本发明实施例中另一种标签挂接工具的显示界面的示意图,如图16所示,可以在“@PlayEffOne播放一次特效”对应的文本框内选取播放一次特效的特效名称;可以在“@PlayEff连续播放特效”对应的文本框内选取连续播放特效的特效名称;可以在“@Bullet子弹挂接”对应的文本框内选取子弹挂接特效的特效名称;可以通过“@StopEff”设置停止播放特效;可以通过“@FootDown”计算步行距离;可以通过“@DoSkillEffect”挂接一个节点,通过程序实现所挂接节点的功能。
[0118] 需要说明的是,在本发明可选实施方式中,特效挂接只是给帧计入一个属性,在最后导出的数据中会记录一个事件标签,程序在解析数据的过程中,根据解析到的不同事件标签实现该事件标签的方法。
[0119] 在另一个可选的实施方式,还可以对加载动画效果之后的目标图像导入到测试工具中进行测试,并输出测试结果。
[0120] 图17为本发明实施例提供的动画处理方法中测试原理的流程图,如图17所示,首先解压缩拷贝启动动画测试(新)的文件,然后解压缩格式为zip的切图文件的打包文件,并通过图片打包工具bat进行处理,导出格式为png的切图文件,接下来,将导出的切图文件合并至output文件中。然后,通过调用配置文件和引擎进行测试。本发明提供的测试工具,通过自动解压缩,并连接引擎的方式进行测试,达到了实时测试效果。
[0121] 在发明可选实施方式中,zip数据为目标图像的多个部件的打包文件,其中,可以利用Texturepacker来对切图文件进行打包处理,并通过使用工具中开源的Dragonbone导出zip数据。其中,打包后的数据需要在调用“解压缩拷贝启动动画测试(新)”文件完成引擎测试。
[0122] 在对打包后的数据需要在调用“解压缩拷贝启动动画测试(新)”文件完成引擎测试之前,还需要对引擎进行配置,其中,在本发明可选实施方式中,可以通过开启本系统工具中的使用的“G7批量提交测试工具(新).pyw”对配置文件进程测试。具体配置过程如图18所示,“动画数据拷贝目录”表示打包数据要拷贝到引擎的什么目录;“动画文件地址”表示要启动哪里的引擎工具进行测试;然后点击“配置路径”,完成引起调用的配置,需要说明的是,图18中Armatrue文件下的是引擎文件。然后复制本系统提供的文件“解压缩拷贝启动动画测试(新).py”,并双击该文件,进而通过图17所示的方法进行测试。
[0123] 接下来还可以通过该测试工具对特效挂接点进行测试,首先我们要把挂接的特效打包放入到引擎目录的指定文件夹下,例如,在本发明实施方式中,可以放在ArmatureTools\animation下面,文件描述俩个类型,分别为plist文件和png文件,其中,plist文件是特效分割记录,png文件是特效合并图。
[0124] 利用连接本系统的特效编辑工具,通过下述方式完成特效编辑:(1)点击相应的动作,进行动作文件切换;(2)特效播放会在加入事件的位置停止运行,此时对特效进行二次编辑;(3)最后保存相应的数据。
[0125] 在上述测试完成之后,需将制作完成的动画资源拷贝并提交,此时,还需要打开如图18所示的“G7批量提交测试工具(新)pyw”。在该工具中输入以下内容:(1)在“原数据位置”处选择要提交的总目录;(2)在“拷贝动画数据文件到”出选择动画数据要提交到的位置;(3)在“拷贝fla数据文件到”出选择项目中也需要提交对应的fla文件的位置;(4)在“G7项目数据拷贝”中的“配置路径”处对文件进行配置,以保证下次开启该工具时,配置信息不会改变;(5)点击“G7项目数据拷贝”中的“数据拷贝”批量动画资源的提交。
[0126] 本发明实施例还提供了一种动画的处理装置,该处理装置主要用于执行本发明实施例上述内容所提供的动画的处理方法,以下对本发明实施例送提供的动画的处理装置做具体介绍。
[0127] 图19是根据本发明实施例的一种动画的处理装置的示意图,如图19所示,该处理装置主要包括命名单元191、切割单元192、导入单元193和挂载单元194,其中:
[0128] 命名单元191,用于通过在制图工具中调用命名工具对多个部件按照预定规则进行命名,并将多个部件分别导出为图片文件,其中,多个部件是使用制图工具从原始资源中拆分出的,多个部件位于不同的层中;
[0129] 切割单元192,用于通过切图工具对多个部件中每个部件对应的图片文件中的非该部件的图片部分进行切除得到切图文件,并记录该部件在切除之前图片中的位置信息;
[0130] 导入单元193,用于将多个部件对应的切图文件及位置信息导入到动画库中,通过重建工具根据每个切图文件的位置信息对切图文件进行重排,得到目标图像;
[0131] 挂载单元194,用于通过部件选择工具设置目标图像中的需要挂载动画的部件,并进行动画效果的加载。
[0132] 在本发明实施例中,通过调用制图工具中的命名工具对多个部件进行命名,并导出每个部件的图片文件,再通过切图工具将导出的切图文件进行切图处理,得到切图文件以及每个部件在切图之间图片中的位置信息,进而根据重建工具将导入动画库中的切图文件和位置信息进行重排,得到目标图像,最后,对目标图像中需要挂载动画的部件加载动画效果,相对于现有技术中手动处理动画的方法,本发明采用系统的工具对动画进行处理,达到了自动完成动画处理的目的,从而实现了通过系统的工具实现动画制作的技术效果,进而解决了现有技术中由于动画制作相对传统导致动画制作过程较繁琐的技术问题。
[0133] 可选地,命名单元包括:第一提示模,用于在调用所述命名工具之后,提示输入前缀;确定模块,用于在用户输入前缀之后,将前缀作为多个部件中每个部件的名字的一部分对每个部件进行命名。
[0134] 可选地,每个部件的名字包括:前缀、部件的序号、部件的名称。
[0135] 可选地,导出单元包括:调整模块,用于根据动画的需要对多个部件的尺寸进行调整,并将调整尺寸后的多个部件通过脚本导出到图片文件中。
[0136] 可选地,加载单元包括:第二提示模块,用于通过部件选择工具,提示输入需要挂载动画的部件,其中,提示输入以下至少之一:部件名称、选择部件、部件注释;第一设置模块,用于在用户根据提示输入之后,设置需要加载动画效果的部件,并进行动画加载。
[0137] 可选地,通过部件选择工具还包括:选择的部件的全局K帧选项、选择的部件的局部K帧选项;其中,其中,选择全局K帧选项和选择局部K帧选项包括以下至少之一:选择全局K帧选项和局部K帧选项均为关闭、选择全局K帧选项为真,选择局部K帧选项为假、选择全局K帧选项为假,选择局部K帧选项为真。
[0138] 可选地,装置还包括:复制单元,用于复制与目标图像的部件相同且皮肤不同的图像至图片文件中,其中,部件为多个部件中的至少一个部件;传递单元,用于通过动画数据传递工具将目标对象的部件上的动画效果传递至图像的部件中。
[0139] 可选地,装置还包括:第一调用单元,用于调用通过调用动画数据传递工具,提示输入待移动部件的移动初始位置和移动终止位置,并提示选择选择全部帧数据偏移或局部帧数据偏移,其中,待移动部件为多个部件中的至少一个;移动单元,用于在用户根据提示输入之后,移动待移动部件至终止位置。
[0140] 可选地,装置还包括:第二调用单元,用于调用特效挂接工具中插入特效序列,并提示输入以下至少之一:插入片段特效、插入全帧特效、需要挂载特效序列的部件、特效序列挂接层;设置单元,用于在用户根据提示输入之后,设置需要挂载特效序列的部件挂载特效序列。
[0141] 可选地,第二调用单元包括以下至少之一:挂接模块,用于挂接一个标签,其中,标签用于指示在应用中找到与标签对应的特效进行挂接;添加模块,用于将特效序列直接加入到特效序列挂接层中。
[0142] 可选地,装置还包括:测试单元,用于对加载动画效果之后的目标图像导入到测试工具中进行测试,并输出测试结果。
[0143] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0144] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0145] 在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0146] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0147] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0148] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0149] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
QQ群二维码
意见反馈