您当前位置: 天堂123 > 天堂架設 > 動畫圖檔spr檔案基礎分析

動畫圖檔spr檔案基礎分析

2022/5/16

SPR文件摘要:
我們有三個與SPR文件相關的已知軟體程式(通常是由Valve開發的稱為Half-Life的軟體),它們可以歸類為二種主文件類型。
通常,這些文件被視為Half-Life Sprite File格式。
這些文件分為Raster Image Files或Executable Files。
在大多數情況下,這些文件屬於Raster Image Files。
Windows與Linux支持文件擴展名SPR`。
這些類型的文件主要可以在桌面設備上與某些移動設備上找到。
SPR文件普及性為“低”。這意味著它們在大多數設備上都不常見。
以上擷取於什麼是 SPR 文件?文章中內容:

解析
此處無法對spr檔有太多的定義,畢竟自身非專業,僅能用自己的理解方式去做解釋:

1.使用抽檔程式抽檔:
使用抽檔工具去看240-0.spr,此為死騎的其中一個面向的呼吸動畫圖。
2.使用SPR轉BMP工具轉檔:
使用SPR-BMP互轉 工具(SPR↔BMP),將240-0.spr轉檔。
可以發現轉出了下列這些檔:
240-0.sfd
240-0-000.bmp
240-0-001.bmp
240-0-002.bmp
240-0-003.bmp
240-0-004.bmp
240-0-005.bmp
240-0-a.bmp
根據這些檔案去做分析。
sfd內容如下:
可見第一行是說明總共六張圖。
第二行是要表示透明的底色。<舉例:背景色為紅色,那在客戶端內紅色的部分表示透明>
第三至八行是六張圖片的定義X,Y軸偏移位置。

首先觀察240-0-a.bmp,這邊是紅色的一個點。<下方圖片已經放大,不然看不到那個點>

在觀察240-0-000.bmp ~ 240-0-005.bmp,圖片只有些微的差異。<因為是靜止不動的呼吸動畫圖>

這一個spr檔其實是由多六張圖檔(240-0-000.bmp ~ 240-0-005.bmp)去組合而成的,240-0-a.bmp這張圖請的顏色是要定義要透明的顏色。
可以把spr當成一個圖檔的集合,但是他並沒有像是gif圖會自動輪播。
他是透過變身檔的編碼定義去設定的播放的單位時間。
這邊大概解說一下這段#240的3.Breath編碼。
#240  64      Death Knight        3.Breath(1 6,0.0:5 0.1:4 0.2:4 0.3:4 0.4:4 0.5:4)
1 6
1:表示有方向性,反之0無方向性。
6:使用圖片總數。
註:這個6就是剛剛解出來的6張bmp圖的意思。

0.0:5
0.0:表示為240-0.spr中的240-0-000.bmp圖片。
:5:表示240-0-000.bmp圖片,需要花費5單位時間(1單位時間 = 1 / 24 秒)
0.1:4
0.0:表示為240-0.spr中的240-0-001.bmp圖片。
:4:表示240-0-001.bmp圖片,需要花費4單位時間(1單位時間 = 1 / 24 秒)
0.2:4
0.0:表示為240-0.spr中的240-0-002.bmp圖片。
:4:表示240-0-002.bmp圖片,需要花費4單位時間(1單位時間 = 1 / 24 秒)
0.3:4
0.0:表示為240-0.spr中的240-0-003.bmp圖片。
:4:表示240-0-003.bmp圖片,需要花費4單位時間(1單位時間 = 1 / 24 秒)
0.4:4
0.0:表示為240-0.spr中的240-0-004.bmp圖片。
:4:表示240-0-004.bmp圖片,需要花費4單位時間(1單位時間 = 1 / 24 秒)
0.5:4
0.0:表示為240-0.spr中的240-0-005.bmp圖片。
:4:表示240-0-005.bmp圖片,需要花費4單位時間(1單位時間 = 1 / 24 秒)
如果依照上面的設定去輪播,就是完整的一個死亡騎士呼吸的動作循環。
以下用gif圖片的製作軟體去做一格呈現,死亡騎士在遊戲畫面內就會如此的呼吸。

總結
以下大概可以這樣定義:

spr檔,就是多張圖檔的一個集合,並且有定義總圖片數量、圖片的偏移量。
spr的每張的播放時間,是透過變身檔編碼去定義單位時間。