戰鬥動畫相關 - MarioUniverseZ/danmemoRipping GitHub Wiki

檔案格式

每個角色的戰鬥動畫有三個檔案: .png.atlas.skel.

  • .png:角色模型的所有配件。
  • .atlas:模型配件的設定檔。可以用記事本打開。
  • .skel:Spine專用的骨骼檔案。無法以記事本或二進位編輯器讀取。

檔案存放路徑

\data\com.danmemo\files\contents\4\files\spine

4\files\spine資料夾中有以下子資料夾:

characterSpine

裡面包含所有冒險者的戰鬥動畫。檔名結構與3\files\character相同。 helga_idle_action

enemySpine

包含一部分敵人的戰鬥動畫。 spider

檔名結構

image

  • 紅:無意義。
  • 藍:敵人種類。
    • 1=魔物。
    • 2=人形敵人,僅作為該角色是敵人時獨有的造型,卡面無此造型。
    • 3=人形敵人,同時該角色卡面也有此造型。
  • 綠:敵人編號,與3\files\character的編號不同
  • 黃:該敵人的造型編號。

realCharacterSpine

包含角色的2D全身動畫。被使用於交流部分與玩家個人檔案。 image

檔名結構

image

  • 紅:無意義。
  • 藍:角色編號,與3\files\character相同。
  • 綠:角色服裝編號。
  • 黃:追加的角色服裝圖片編號,以23結尾。

角色2D全身動畫不適用於本教學。(見下文之⚠️注意

\data\com.danmemo\files\contents\5\files\spine\enemySpine

包含另一部份敵人的戰鬥動畫。(注意contents之後的檔案路徑為5而不是4 dark (沒錯,六周年活動第三部最後一關的BOSS戰鬥動畫存放在這裡)

檔名結構與4\files\spine\enemySpine相同。

將動畫輸出成 GIF 動圖形式

保留透明背景輸出

需要

首先將.png.atlas.skel檔案從PowerISO拖曳至其他路徑(這裡以【覺醒之詩】蕾菲亞‧維里迪斯為例) image

接著前往https://naganeko.pages.dev/spine-gif/ ,網頁往下拉並更改工作區大小(最大為2000x2000),點選Regen workspace。當網站詢問是否更改工作區大小,點選 確定 image

透過Add Skeleton按鈕或拖曳至灰色格線區域以匯入上述3個檔案,你就可以看到角色(蕾菲亞)出現在灰色區域中。 (如果需要重新匯入檔案,請按 F5 重新整理後再匯入,如果點選Reload按鈕將會複製一份角色至灰色區域) image

image

image

Play按鈕旁邊的下拉式選單是角色動作選單,選擇任一動作後可於灰色區域查看該動畫。如果想要輸出動作動畫至圖片中,點選Add Motion按鈕可將動作添加至下面的角色動作清單(請注意動畫的先後順序)

動畫添加好後,調整角色圖片比例(image scale,藍色矩形區域)以及GIF邊界至合理大小(GIF bound,紅色矩形區域)。拉動角色動作選單上面的拉桿確認所有動畫的物件或其藍色矩形是否超出紅色矩形。

完成後,在Total Duration下面,Split旁邊的選單選Delay Per Frame並調整每張圖片延遲間隔(單位為毫秒,我通常用30),接著點選Generate Frame(本例我先加入variable_chant再加入attack,這樣看起來就像先丟buff再攻擊)。網頁會把動作切割成一張一張圖片並在下面顯示。 image

點選Save as a ZIP(在這之前可以再度確認角色是否超出圖片範圍)。下載好後,將壓縮檔解壓縮至任意路徑。

接者啟動GIMP,選擇檔案 -> 開啟成為圖層,選擇剛剛解壓縮的所有圖片後點選開啟(開啟所有圖片會花點時間)。全部匯入之後,GIMP視窗如下所示: image

接著選擇檔案 -> Export As...,選擇檔案格式為GIF並點選匯出。匯出前會跳出下面的視窗: image

As Animation打❌,Delay between frames where unspecified處的數值改成剛剛在spine->gif網頁中調整的延遲間隔,Frame disposal where unspecified的選項選為 每個圖層占用一個畫格(取代),都調整好後按匯出.

帶透明背景的成品會長這樣: example

如果看起來跟上圖一樣,那就成功了。如果有剪輯需求,可以直接將 GIF 圖丟至 aviutl 軟體。

帶有白背景輸出(非透明)

設定好角色圖片比例與圖片延遲間隔後(見上),右邊綠色區域下面的frame delay的數值調整成你想要的數值然後按Generate(同樣也會花時間讀取預覽圖)。讀取好後,預覽圖如亞所示: image

確定沒問題後點選Save

帶白背景的成品會長這樣: 1041018024_mix_75_30_20230818-204524

提取角色動畫的部分差不多就到這裡。

⚠️注意

  • 不論是透明或白底的動圖都可能會在某些細微的地方看起來不太正常,例如角色的鞋子反轉。
  • 白底圖片可能會失去白色的配件(上面的白底圖片也有此情形,可以看到蕾菲亞攻擊時沒有揮舞時的動作效果)
  • 如果從spine\realCharacterSpine匯入圖片,將不會顯示眉毛、眼睛、鼻子與嘴,如下圖所示: image