欢迎光临散文网 会员登陆 & 注册

PvZ2修改大典 第十一章 贴图合成及动画修改——动画制作(三)

2023-07-04 09:50 作者:滨敔滨纵凝  | 我要投稿

前言:随着技术的发展和进步,贴图合成、动画修改、属性组合、关卡制作、音乐编码早已不是秘密。其实从2021年9月Ftp2Res制作出来时候就已经打破了贴图合成和动画修改垄断,然而由于核心圈大佬仍然使用一些漏洞百出的工具而且不愿变通,导致了我制作的相关工具在2021-2023年期间使用人数仍然保持在个位数,传播力度极窄,我早已声明相关工具公开,但是收效甚微。以前并没有时间去写相关教程,而且不少人入门看的就是我那个已经严重过时的RTON修改教程,在此真的劝退不少修改玩家。去年10月我将我当时所有自己写的工具都集成在EBToolBox上,以方便使用,同时为了照顾无法安装.NET 4.8的玩家和便于调试,保留了各个功能的单文件版并同步更新。所以在此专门抽时间写新版工具相关的教程,以供来者学习观摩。

在此特别感谢那些帮助我完善工具和教程的大佬们。

注:若汝目前在升学考试(小升初、中考、高考、专转本、考研等)期间,请立即停止阅读PvZ2修改相关文献,作者自然无法限制您的阅读自由,但是为了您的未来着想,请立即停止修改相关的学习,全身心投入考试当中,吾不希望踏足PvZ2修改的任何玩家因为学习这门技术而丢了本业。

第十一章 贴图合成及动画修改

3.动画制作

III.ETB的使用以及补间动画骨骼动画的制作

由于上述操作均为手动操作,讲出来是为了对ETB无法解决或者没必要解决的问题进行小修小补,然而实际过程中,动画制作除了使用AN这一块是手动处理,其余数据部分基本上已经完成了自动化。

在此之前,我们需要检查一下我们手上工具的对应版本,低版本工具会有更多bug而造成数据错误。

PvZ2修改拓展工具EBToolBox版本号:1.2.0.1

或者EBToolBox功能单文件版:

位图填充器SpriteToLibrary1.3.1

元件创制器ClipCreator1.5.0

Res切割合成工具ResSC1.1.4

图集路径创建器DirectoryCreator1.0.0

合成图数据转res工具Ftp2Res1.5.0

元件转换器ClipTransformer1.1.3

extra生成工具Res2Ext1.5.1

关卡分解合成工具LevelSC1.1.3(动画教程用不到)

 

检查完毕后,我们便开始ETB制作动画的教程。

注:最重要一点,使用前要备份!要备份!要备份!重要的事情说三遍!

i.位图的载入(此位图载入仅仅为向LIBRARY文件夹放入位图而非将新位图入库)

在此,位图的载入变得非常简单。当你把PAM转换为XFL工程文件的时候,你不需要在全资源解包文件夹一个一个翻这个PAM引用的位图了。

打开ETB,选择位图填充器SpriteToLibrary功能,向文本路径框拖入XFL和位图总文件夹路径后,点击“运行“按钮等待运行完成即可载入位图。

位图填充器SpriteToLibrary功能说明

注:位图总文件夹需要全资源解包选择切割图集才会生成,具体生成操作见第三章。res文件夹中的images文件夹是放置PAM的,不是位图总文件夹!!!

xfl文件名称被修改是为了帮助制作flash动画用于视频剪辑的玩家方便输出,对PAM合成动画制作之类的无影响。

检测到被Adobe Animate更新过的XFL会对网格和舞台设置进行标准化转换。

ii.元件的创建

对于元件的创建,是非常繁琐的,尤其是先把新添的位图入库还要改名然后创建元件拖入位图达到引用目的之类的。

然而元件创制器ClipCreator解决了这一问题。

在使用前需要注意的问题:

最重要一点,使用前要备份!要备份!要备份!重要的事情说三遍!

library文件夹的位图必须要全!否则工具删掉引用不存在位图的元件!

不要删除文件夹内的samplea、sampleb、samplei,否则工具无法创制元件

进行a元件创制,a元件如果出现问题,会自动删除

但是无论进行什么操作,i元件如果出现问题必然自动删除

务必注意!!!!!

经过Res2Ext加密后的XFL文件夹需要用Res2Ext解密后再次使用本工具,

否则工具直接干掉携带加密层的a元件!等于a元件全没了!

如果在图层检测时发现a元件一个图层载多个位图或载n元件n位图的情况,

使用i元件替换位图功能会全部转换为一个图层载多元件,

如果不进行多位图/元件图层分离操作,直接创制a元件,会直接删除

main元件由于其特殊性,可以使用图层分离功能,不分离不进行自动删除,请手动解决问题

一帧放多个相同位图/元件的情况,由于其主观复杂性,例如同图层有些帧放n个,

有些帧只放1个的情况,工具自动分离时,

有些相同名元件可能不会放在同一个图层(谁知道你这个元件要放在哪个图层啊),

请在使用元件分离功能后根据之前的提示使用Adobe Animate查看对应图层是否达到预期效果

图层分离功能可能会产生末尾空帧,请使用Res2Ext进行修复删除

本功能适合前中期使用,后期不建议使用。

 

说了那么多,现在进入正题:

打开ETB的元件创制器ClipCreator功能,我们会看到好多复选框。我们可以根据需要对功能进行勾选。

其中引用重写功能是必选的。

如果仅仅是加入新位图,只需要引用重写功能即可。

如果需要创建i元件,只需要选i元件创制和引用重写,其中对于被a元件或者main元件引用的位图却没有被i元件引用的违规位图,会为其创建一个缩放为1的i元件;对于未被任何元件引用的位图,会为其创建一个缩放为0.78125的i元件(官方缩放比)。

如果需要创建a元件,只需要选a元件创制和引用重写,对于未被任何a元件引用的i元件,工具会为其创建一个a元件。

对于被a元件或者main元件引用的位图却没有被i元件引用的违规位图,可以使用替换位图引用为元件来使得新建的i元件替换掉原有的位图达到修复的效果。

对于对多位图/元件或者每帧位图/元件不同的动画图层进行分解的情况,选择图层分解即可。

一般情况下,我们只需要选择自动执行即可。

元件创制器ClipCreator功能一览

iii.工程的转换

以前的时代,由于太极和SPC-Util之间相似但不兼容,所以动画制作方面,因为工具的使用分成了两个派系。核心圈由于拥有内测SPC-Util,所以和使用太极的新兴的动画修改玩家不兼容。这种局面,在元件转换器ClipTransformer出现之后终于统一起来。

打开ETB的元件转换器ClipTransformer功能,我们可以看到目前仅仅能做到太极和SPC-Util的XFL工程的转换。这里指的工程转换可以不是完工的可以合成PAM的工程,未完工的工程也可以转换,这样就可以做到用SPC-Util的玩家制作动画然后转换为太极工程使用ETB来修复bug生成数据。

元件序号重写功能默认是打开的,是否使用根据个人使用情况。

元件转换器ClipTransformer功能一览

iv. 动画拓展描述文件extra.json的自动化生成

本章第1节我们讲了贴图的合成,并且输出了资源片段,现在我们便用得到那个资源片段,因为那个是生成动画拓展描述文件extra.json的必要条件。

打开ETB的extra生成工具Res2Ext功能,将XFL工程文件夹和资源片段分别拖入对应的路径文本框,在一般情况下按照默认选项即可,点击“运行“按钮即可生成动画拓展描述文件extra.json。

注:

其中前面提到过的新建元件导致的缩放比为1的消失问题会在使用工具后重新添加,如果之后还有修改,请在AN保存后PAM合成前再次使用。

工具会对i元件引用多个位图、i元件引用元件、a元件引用位图、a元件单图层引用多个元件、a元件单图层存在不同元件、main元件引用位图、main元件单图层引用多个元件、main元件单图层存在不同元件情况进行警告,其中main元件会精确到某图层某帧,考虑到人为原因,不进行自动删除,相关提示会出现在文本框中。

工具会对元件或位图未引用或未存在引用名进行提示(由于此错误为使用者个人导致,Res2Ext无法对其修复,会对错误部分进行跳过,所以看到提示后,请立即对提示处进行修复,用Res2Ext检测无误后,再用太极合成,否则太极报错)。

工具会对a元件引用序号比其高的a元件进行提示(由于此错误为使用者个人导致,Res2Ext无法对其修复,会对错误部分进行跳过,所以看到提示后,请立即对提示处进行修复,用Res2Ext检测无误后,再用太极合成,否则太极报错)。

工具会对使用SPCUtil或TwinKles-ToolKit解析的XFL,会发送不适配提示(增加附加功能版本1.0.2后已不支持SPCUtil解析的XFL,从来未对TwinKles-ToolKit解析的XFL给予支持)。

关于太极的__ABOUT__="this XFL is convert from Popcap-AniMation file , by TaiJi ." 自动添加重写功能。

工具会对所有元件中全空图层、全空帧图层、图层末尾空白帧进行检测删除修复(警告:i元件由于其特殊性,在不放位图的情况下会出现严重错误,这种情况纯属人为造成,工具都救不了)。

工具会对所有元件中图层帧间空白帧进行检测提醒,main元件会精确到某图层某帧,考虑到人为原因,不进行自动删除。

工具允许对元件进行加密处理,也允许对使用本软件加密后的元件进行解密处理(注:这里的XFL加密仅仅是让太极合成后的PAM解不出对应元件,解密选项仅用于去除因为操作失误而用本软件给元件加密的元件保密层,并不是能把加密后合成的PAM解开。加密后再次使用软件,生成extra.json会出现错误,属于正常现象,需解密后生成正常的extra.json)。

工具会对被Adobe Animate更新过的XFL工程文件进行调整以符合宝开动画开发标准,具体表现为:背景设置为灰色,宽高设置为384,网格设置为白色,宽高设置为128。

对于extra.json的a元件图层名称部分,由于新加的a元件没有图层名称,所以默认为default_layer。如果你在使用别的工具,发现其生成的默认图层名称为default_label或者是Default_Layer,前者是我在开发该功能时候的默认旧称,后者……懂的都懂。也可以说Res2Ext制定了统一规范了233。

extra生成工具Res2Ext功能一览

v.补间动画制作和骨骼动画制作

该部分已经超出PvZ2修改的范畴,但是动画制作是常用的,所以就在此讲一下。

补间动画很简单,点击帧的右边不存在帧的地方按住向右拉到合适的长度,(创建补间动画也可以,具体玩法自己摸索),则补间动画完成,在不同的帧对元件进行调整即可。

创建补间动画

随后我们在制作完成后便需要转成逐帧动画,否则太极不支持。选中整段补间动画,右键选择“转换为逐帧动画”“每帧设为关键帧”,剩下有的地方没有转成逐帧的右键“删除经典补间动画”即可。

补间动画转逐帧动画

骨骼动画的话,在元件创制器未开发出来的时候,制作起来是非常麻烦的,在此不详细说明,对应制作教程早已录视频发布,在此我会再讲一遍。但是要说明一下,那个视频里,最后调整图层深度只是演示用,并不代表图层一定需要改变。

视频地址:骨骼动画制作教程

首先,点击左方工具栏的骨骼工具,从跟到梢依次相连,这时候该帧的几个图层的元件都已经集合到骨骼图层的一帧上,随后删除对应的多余图层,拉动延长骨骼动画帧,为其插入姿势,形成一段流畅的动画。

点击左方工具栏的骨骼工具,从跟到梢依次相连
随后删除对应的多余图层
拉动延长骨骼动画帧
为其插入姿势,形成一段流畅的动画

随后选择全部的动画帧,右键选择“转换为逐帧动画”“每帧设为关键帧”,将其转换为逐帧动画。

骨骼动画转换为逐帧动画

注意,此时的逐帧动画不符合PAM合成规范,因为这里一帧载了多个元件,这个时候便会用到元件创制器的图层分离功能。

在使用该功能之前,请保证XFL动画中不存在未转换为逐帧动画的骨骼动画或补间动画,否则会引起错误。

记得先备份,备份,备份!!!!!

打开ETB的元件创制器ClipCreator功能,勾选自动执行复选框,点击“运行”按钮,开始执行操作。请耐心等待,因为该操作很复杂,如果没有多载图层则会很快,有则很慢,等到完成提示框出现则图层分离完成。

勾选自动执行复选框,点击“运行”按钮,开始执行操作
等到完成提示框出现则图层分离完成

这个时候重新双击xfl文件,进入编辑界面后即可看到骨骼图层分成了所承载元件数量的层数,这个时候如果图层深度不对,那么可自行调整。

图层分离后效果
调整图层深度示例

至此,动画修改基础基本讲解完成。

PvZ2修改大典 第十一章 贴图合成及动画修改——动画制作(三)的评论 (共 条)

分享到微博请遵守国家法律