关于DNF的多媒体包NPK文件的那些事儿(2)
IMG文件結構
IMG文件是集成DNF內某些特性貼圖的文件,里面包含了這些圖片的壓縮數據以及這些圖片的長、寬、大小、顏色等特征數據。IMG文件版本有多種,用于在游戲中顯示不同作用的貼圖。
| 版本 | 分布 |
| V1 | 早期版本使用的IMG版本,現在客戶端內V1資源極少,韓服客戶端里已經不存在,國服客戶端里僅有sprite_interface_iga_iga08.npk內的兩個IMG使用V1。 |
| V2 | 大部分貼圖使用的IMG版本,UI、圖標、地圖、標記、稱號等絕大部分貼圖均使用V2,V2的特點是對圖像數據不進行任何處理即進行壓縮,因此V2文件占空間都往往比較大,適合復雜顏色和特征的常規圖片的存儲。 |
| V3 | 幾乎沒見過的IMG版本,也許是調試時出現的過渡版本吧。 |
| V4 | 2016年后的裝扮使用的IMG版本,根據裝扮的顏色整合成顏色表,圖像數據使用顏色表索引的格式進行壓縮,因此V4文件在顏色較為單一或相近的條件下占空間比V2節省接近1/4,同時在進行顏色處理(例如染色)時,V4的效率要遠遠高于V2。 |
| V5 | 2016年后絕大部分技能特效使用的IMG版本,與其他版本不同,V5文件使用DDS格式存儲圖像并進行壓縮。DDS格式的圖像能減少紋理內存消耗,使得更為復雜、華麗的技能特效在播放時使客戶端更加流暢。 |
| V6 | 2017年大部分裝扮使用的IMG版本,尚未登錄國服。本身作為V4的上位算法,使用顏色矩陣代替顏色表進行顏色存儲,但具體用途未知(因為不會影響存儲空間,估計是用來實現與時裝有關的其他與顏色相關的功能)。 |
?
任何一個IMG文件都至少包含一個文件頭、圖像幀索引表和若干個經ZLIB壓縮后的圖像數據,而隨著版本不同,IMG文件頭之后也會出現其他輔助數據。
| 文件頭 | 包含IMG文件標識字符串(Neople Img File)、圖像幀索引表大小、版本號、索引表數目四個數據。 |
| 輔助數據 | V4和V6使用的顏色表內包含的顏色數和具體數據。 |
| 圖像幀索引表 | 分兩種圖像幀:一種是實際圖像幀、另一種是索引幀。 圖像幀包含圖像的各種特征數據,對于V5之外的版本包括: 顏色格式、壓縮格式、寬度、高度、大小、x坐標、y坐標、幀域寬、幀域高;對于V5則是DDS圖像格式的數據。 索引幀僅包含一個索引幀標識(0x11)和該幀的指向幀。 |
| 圖像數據 | 即圖像數據經過ZLIB進行壓縮后的數據,一般由0x78,0x9C開頭。 |
??????
每個版本的IMG的具體內容會在后文介紹。
(PS.截止筆者發文時,筆者還沒有弄懂V5格式,因為比其他內容更麻煩)
總結
以上是生活随笔為你收集整理的关于DNF的多媒体包NPK文件的那些事儿(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 超级马里奥代码_任天堂的源码泄露,揭示超
- 下一篇: python可迭代对象 迭代器生成器_P