国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

PvZ2修改大典 第十一章 貼圖合成及動畫修改——動畫文件轉(zhuǎn)換與XFL動畫結構

2023-06-04 15:28 作者:濱敔濱縱凝  | 我要投稿

前言:隨著技術的發(fā)展和進步,貼圖合成、動畫修改、屬性組合、關卡制作、音樂編碼早已不是秘密。其實從2021年9月Ftp2Res制作出來時候就已經(jīng)打破了貼圖合成和動畫修改壟斷,然而由于核心圈大佬仍然使用一些漏洞百出的工具而且不愿變通,導致了我制作的相關工具在2021-2023年期間使用人數(shù)仍然保持在個位數(shù),傳播力度極窄,我早已聲明相關工具公開,但是收效甚微。以前并沒有時間去寫相關教程,而且不少人入門看的就是我那個已經(jīng)嚴重過時的RTON修改教程,在此真的勸退不少修改玩家。去年10月我將我當時所有自己寫的工具都集成在EBToolBox上,以方便使用,同時為了照顧無法安裝.NET 4.8的玩家和便于調(diào)試,保留了各個功能的單文件版并同步更新。所以在此專門抽時間寫新版工具相關的教程,以供來者學習觀摩。

在此特別感謝那些幫助我完善工具和教程的大佬們。

注:若汝目前在升學考試(小升初、中考、高考、專轉(zhuǎn)本、考研等)期間,請立即停止閱讀PvZ2修改相關文獻,作者自然無法限制您的閱讀自由,但是為了您的未來著想,請立即停止修改相關的學習,全身心投入考試當中,吾不希望踏足PvZ2修改的任何玩家因為學習這門技術而丟了本業(yè)。

第十一章 貼圖合成及動畫修改

2.動畫文件轉(zhuǎn)換與XFL動畫結構

準備材料:全資源解包文件夾,太極,Adobe Animate(下面簡稱AN)

I.PAM與XFL文件夾之間的轉(zhuǎn)換

根據(jù)代碼篇,我們了解到,我們想要新增一個單位,便是要去types里找到符合自己要求的單位,然后復制粘貼那個單位的代碼,再根據(jù)這個代碼去props之類的里去創(chuàng)建符合自己要求的屬性和其余代碼。動畫也不例外,所謂動畫的運行,就是代碼驅(qū)動了貼圖在移動翻轉(zhuǎn)變色等操作。然而決定了貼圖的動作的,不僅是packages里面的代碼,還有一個重要的文件——PAM。

根據(jù)第十章資源分布,我們很輕松地在全資源解包文件夾或者RSGP解包文件夾中找到了符合我們要求的單位的PAM,將其復制出來,我們要單獨對其進行處理?,F(xiàn)在我們由于用到的是凱撒衍生出的單位,所以應當使用凱撒的PAM。

對于PAM,我們最好的處理方式是對其進行轉(zhuǎn)換,其中,轉(zhuǎn)換為XFL文件夾供AN修改是最為直觀的。

現(xiàn)在,我們將PAM拖入太極,輸入6即可將PAM轉(zhuǎn)換為XFL。

PAM轉(zhuǎn)換選項說明
PAM與XFL文件夾

當我們對XFL動畫進行一系列修改之后,我們需要對XFL文件夾進行改名,記住是XFL文件夾,不是XFL文件。由于PAM和XFL互轉(zhuǎn)的名稱是”名稱”.PAM文件和”名稱”.xfl文件夾,所以PAM的文件名是被XFL文件夾名決定的(雖然說咱們可以轉(zhuǎn)換成PAM之后對PAM改名就是了,但是改XFL文件夾更有區(qū)分度而不至于弄混工程文件)?,F(xiàn)在,我們對XFL文件夾進行改名。由于我的是國王拓展僵尸,應該改名為zombie_dark_veteran_king.xfl。

而后將XFL文件夾拖入太極,選擇0 2即可將XFL轉(zhuǎn)換為PAM。

XFL轉(zhuǎn)換選項說明

其中有一些小提示,通過這些提示可以知曉XFL轉(zhuǎn)PAM導致崩潰的原因。

當太極停留在a序號.xml或者i序號.xml時崩潰,則需要檢查a元件和i元件是否有問題,extra.json和DOMDocument.xml是否有它們的記錄等等。

當太極停留在l序號或者圖層_序號或者其余的圖層名稱時候崩潰,則需要檢查該圖層是否是全空圖層,全空幀圖層或者是圖層中間末尾有空幀。具體這個圖層在哪個元件中,圖層提示的上方有in xxx.xml字樣,表示該圖層是xxx元件的圖層。

如果直接崩潰,則需要檢查DOMDocument.xml中l(wèi)abel, animation以及main元件的幀長度是否一致,以及main元件或者a元件的部分動畫是否為沒來得及轉(zhuǎn)換為逐幀動畫的補間或者骨骼動畫,亦或是是否由于未在使用AN修改XFL動畫前載入位圖導致AN干掉了DOMDocument.xml的media節(jié)點。

如果出現(xiàn)下圖提示,則需要在DOMDocument.xml中的DOMDocument節(jié)點添加__ABOUT__屬性,具體如圖所示。

缺少__ABOUT__屬性提示
添加__ABOUT__屬性?

當太極轉(zhuǎn)換完成了,但是提示中出現(xiàn)如圖字樣,那么表示該圖層是太極允許的,但是太極不喜歡,給你刪了。這樣導致的后果就是合成的PAM將很大概率無法被轉(zhuǎn)換為XFL,這個也是PAM加密的原理。

全空圖層和裝載無效元件圖層提示

轉(zhuǎn)換完成后,我們便可看到PAM成品,說明動畫制作完成。這時候需要動用第十章的資源分布的知識,對PAM進行打包之類的操作,在此不表。

XFL和PAM

II.XFL動畫結構

在太極生成的XFL文件夾中,所有的數(shù)據(jù)都被分為了這幾個部分:

Adobe Animate入口文件main.xfl、文檔信息DOMDocument.xml、庫文件夾LIBRARY、動畫拓展描述文件extra.json。

XFL動畫基本結構

各個部分解析如下:

main.xfl:名字隨便改,只要內(nèi)容是那一段代碼,后綴是.xfl即可。

?

LIBRARY文件夾:用來裝載庫中存儲的元件和位圖。

其中i開頭的xml是image圖像文件。i元件中,有且僅有一個圖層,該圖層有且僅有一幀。并且這一幀中僅能引用一張位圖。

這一位圖可以使用如下屬性:指定變換原點、平移、縮放。這三種屬性以外的屬性,會在編碼PAM過程中被忽略。

i元件性質(zhì)說明

其中a開頭的xml是animate動畫元件。a元件中,可以包含任意數(shù)量的圖層(即使是0)。每一圖層中,僅能引用同一元件。這個元件可以是任意的i元件,也可以是序號小于該a元件序號的a元件。在該圖層中,每幀僅能引用一個元件。當該幀引用元件的時候,該幀呈白色我們可以叫作實幀。沒有引用元件的幀呈深灰色我們叫作空幀。黑色或者透明表示不存在幀。當圖層中出現(xiàn)實幀,那么該實幀以后的幀要么都不存在幀,要么就為實幀,不能存在空幀,即其為一段連續(xù)的動畫,實幀之間不能存在空幀,圖層動畫末尾不能存在空幀,空幀只能存在于該圖層第一個實幀之前。否則回PAM崩潰。

a元件可以有以下幾種屬性:平移、縮放、旋轉(zhuǎn)、傾斜。這四種屬性以外的屬性,會在編碼PAM過程中被忽略。

a元件性質(zhì)說明

其中main.xml(不是main.xfl)是主元件。主元件性質(zhì)同a元件,但是受DOMDocument影響,我們修改也是修改主元件。

main元件性質(zhì)說明

目前太極可處理的XFL動畫有諸多限制,例如:只能使用PNG位圖、不允許漸變(目前似乎允許)、只能進行逐幀制作(可以使用傳統(tǒng)補幀、并在要進行轉(zhuǎn)碼前在AN中將至轉(zhuǎn)化為逐幀動畫)。如果違反這些規(guī)則,很有可能無法成功將XFL轉(zhuǎn)換為PAM(程序進行轉(zhuǎn)換時將會崩潰)。

?

DOMDocument.xml:分為文檔信息DOMDocument、位圖引用media、元件引用symbols、場景main(labels動作標注信息圖層、actions動作命令圖層、audio音樂信息圖層和animation動畫信息圖層)

DOMDocument:包含多個屬性,其中__ABOUT__="this XFL is convert from Popcap-AniMation file , by TaiJi ."這一屬性太極合成必需。其余的屬性一般通過AN修改得到,比如:

舞臺背景顏色(灰色)backgroundColor="#999999"

網(wǎng)格顏色(白色)gridColor="#FFFFFF",

舞臺寬高(寬384高384)width="384" height="384"

網(wǎng)格寬高(寬128高128)gridSpacingX="128" gridSpacingY="128"

開啟網(wǎng)格gridVisible="true"

開啟標尺rulerVisible="true"

其中手動開啟如上屬性方法如下:

首先,雙擊main.xfl進入XFL舞臺界面,點擊左上角梅花花色按鈕,選擇main元件后進入main元件編輯界面,隨后點擊右上角的屬性按鈕,設置舞臺寬高為384,設置舞臺背景顏色為灰色。

點擊左上角梅花花色按鈕,選擇main元件后進入main元件編輯界面
點擊右上角的屬性按鈕,設置舞臺寬高為384,設置舞臺背景顏色為灰色

隨后在舞臺處右鍵,顯示標尺,隨后編輯網(wǎng)格,勾選顯示網(wǎng)格,設置寬高為128,設置網(wǎng)格顏色為白色。

在舞臺處右鍵,顯示標尺,隨后編輯網(wǎng)格
勾選顯示網(wǎng)格,設置寬高為128,設置網(wǎng)格顏色為白色

至此,寶開標準手動設置完成,返回場景即可。

?

media、symbols :涉及XFL引用的位圖和元件信息,一般情況下不用修改,AN會處理這些的。

labels:此圖層異常重要,而且在代碼篇講過,單位types的AnimRigClass決定了該單位能播放什么動作標注的動畫,動作標注可以多,因為它可以不讀;但是不能少,因為一旦讀不到,游戲直接崩潰,不崩潰也會卡死在上一個動作標注中。搞移植的核心就是這里。一般來說,單位的AnimRigClass需要哪些動作標注,由對應原版PAM內(nèi)的labels決定。

labels圖層解析

actions:存儲著能夠播放指令的幀和對應的執(zhí)行指令,一般使用AN處理。

audio:存儲著能夠播放音樂的指令的幀和對應的執(zhí)行指令,一般使用AN處理。

animation:和main元件的幀長度一致,一般不做修改。

?

extra.json:分為默認頭數(shù)據(jù)unk、縮放比率origin、資源引用信息及大小imgSz、i元件引用資源名稱imgMapper、a元件代表圖層名稱animMapper

unk:默認為54 19 F0 BA 06 00 00 00 1E 00 00 00 00,不要改動。

origin:一般為78.0, 78.0,即使不是也不要擅自改動。

imgSz:前半部分為引用的資源id,后半部分為縮放后大小,一般為資源尺寸x0.78125。

imgMapper:i元件對應引用的資源id,所以i元件僅能引用一個位圖。

animMapper:a元件代表圖層名稱,一般來說可以隨意命名,允許重名。但是有些特殊圖層名稱需要注意,比如:

zombie_arm_outer_upper_bone為僵尸殘血無下臂情況下的露骨上臂

zombie_arm_outer_upper為僵尸滿血狀態(tài)上臂

zombie_arms_outer_upper為僵尸上臂集合(a元件兩個圖層,上層放完好上臂元件,下層放殘破上臂元件)

zombie_arm_outer_lower為滿血狀態(tài)時僵尸小臂

zombie_hand_outer_01為滿血狀態(tài)時僵尸左手

ink為僵尸中毒面部

butter為僵尸被黃油定身狀態(tài)面部

ground_swatch為僵尸移動參考平面

ground_swatch_plane為僵尸移動參考水平線

particle_head為掉落的頭顱

particle_arm為掉落下臂

_particles為掉落物(多個圖層,放置防具、頭顱、下臂等元件)

還有自己在防具定義的損傷點等等。

這些圖層,在特定情況下會隱形。比如滿血狀態(tài)便不會顯示殘破手臂;殘血狀態(tài)會顯示殘破手臂,不會顯示小臂和左手;沒有中毒面部不會覆蓋;參考平面和水平線始終隱形等等。

一般來說,extra.json的修改在以前是手動的,但是自從Res2Ext的出現(xiàn),這些東西都開始了自動化,所以除了a元件代表的圖層名稱,其余的都不需要手動修改。

?

在AN修改動畫完成后,會出現(xiàn)其它文件和文件夾,那些會被太極忽略,不需要刪除。

PvZ2修改大典 第十一章 貼圖合成及動畫修改——動畫文件轉(zhuǎn)換與XFL動畫結構的評論 (共 條)

分享到微博請遵守國家法律
依兰县| 翁牛特旗| 永和县| 芷江| 繁昌县| 大化| 乌拉特前旗| 余姚市| 垦利县| 商丘市| 教育| 蒙自县| 原平市| 白银市| 彭山县| 平度市| 贡山| 义马市| 临猗县| 乐清市| 尼勒克县| 方城县| 田阳县| 阿荣旗| 兴化市| 个旧市| 商南县| 巢湖市| 嘉黎县| 金湖县| 绵竹市| 禄劝| 巩留县| 绩溪县| 台江县| 新河县| 绍兴县| 湘潭县| 会理县| 博乐市| 阿勒泰市|