饑荒人物貼圖制作教程
本文章適用于2023年steam饑荒單機(jī)版與聯(lián)機(jī)版人物mod的貼圖制作,可能不適用于Klei的其他游戲。

工具與技術(shù)棧
1. 作圖工具
能夠熟練使用以下的一款軟件:Photoshop、Krita、SAI、GIMP、Painter、Animate等等。
能夠手繪或鼠繪(真的有人會(huì)嗎)或使用數(shù)位板或數(shù)位屏
能夠理解圖層的含義,會(huì)使用圖像批處理
2.?腳本
會(huì)使用python(當(dāng)然你會(huì)java、c++之類的也行)對(duì)圖像進(jìn)行裁剪、放縮
會(huì)使用python遍歷文件目錄
3.?饑荒專用工具
會(huì)使用官方給的autocompiler.exe,或者你自己運(yùn)行scml.exe和png.exe和一些腳本
會(huì)使用官方的python2.7版本運(yùn)行官方腳本buildanimation.py
4.查看壓縮包
能夠壓縮與解壓zip文件
5.查看貼圖
能夠使用ktools或ztools等程序?qū)ex轉(zhuǎn)換為png,并反過(guò)來(lái)轉(zhuǎn)換
能夠使用textool或tex explorer直接查看tex文件

流程1:提取官方動(dòng)畫(huà)與貼圖
貼圖找到饑荒動(dòng)畫(huà)文件夾C:\Steam\steamapps\common\Don't Starve Together\data\anim,使用軟件搜索wendy.dyn,解壓出atlas-0.tex。當(dāng)然你也可以用wendy.zip,則不需要再去找build.bin
貼圖2打開(kāi)壓縮包C:\Steam\steamapps\common\Don't Starve Together\data\databundles\anim_dynamic.zip,使用軟件搜索wendy.zip,解壓兩次得到build.bin
動(dòng)畫(huà)搜索player_,任意找一個(gè)zip,解壓出anim.bin
anim.bin+build.bin+atlas-x.tex,三個(gè)(或者四五個(gè))文件放到一個(gè)文件夾,用krane.exe提取出scml工程文件
流程1:下載現(xiàn)成的模板文件
打開(kāi)steam創(chuàng)意工坊,搜索extended sample character或者使用我提供的animation template。訂閱mod,找到mod文件(提示:在mods/或322330/里面,可直接搜索id),然后把相應(yīng)的整個(gè)工程都復(fù)制到你自己的文件夾里,然后取消訂閱。
流程2:下載現(xiàn)成的全套mod文件
打開(kāi)創(chuàng)意工坊,找一個(gè)你喜歡的mod人物,訂閱,然后把整個(gè)mod文件夾復(fù)制到你的文件夾里。此處推薦一些比較標(biāo)準(zhǔn)的mod:Charlie: Stranger Newer Powers(查理,帶皮膚),Whimsy the Disoriented(作者是Klei論壇里知名的專畫(huà)薇洛的壇友)、Hamlet Characters -Fixed and Reporked(哈姆雷特專屬人物搬運(yùn))。
如果你使用的是我的模板,那么你可以去https://github.com/ZzzzzzzSkyward/dst-mod-mia,轉(zhuǎn)到relics看一下我的工程。
流程3:制作人物貼圖
注意事項(xiàng)
1.不能修改Spriter里的動(dòng)畫(huà),因?yàn)槿宋飫?dòng)畫(huà)是官方定死的,你不可能去改官方動(dòng)畫(huà)來(lái)迎合你的貼圖
2.你可以打開(kāi)scml文件,修改一張圖片的x和y,這個(gè)坐標(biāo)是圖片中紅點(diǎn)(pivot)的比例坐標(biāo),其中pivot_y=1-y,以左上角為原點(diǎn)。這個(gè)紅點(diǎn)是圖片的旋轉(zhuǎn)與放縮中心。
3.如果你想要擴(kuò)大畫(huà)布,一種標(biāo)準(zhǔn)的方法就是,根據(jù)紅點(diǎn)位置,以它為中心擴(kuò)大畫(huà)布,保持圖像的相對(duì)位置不變。但是這個(gè)操作在Photoshop里是做不了的。一種變通的辦法就是先用Snipaste截個(gè)圖,然后對(duì)著截圖在屏幕上調(diào)整圖像的相對(duì)位置,以保證擴(kuò)大畫(huà)布后圖像相對(duì)紅點(diǎn)的位置不變。但是這樣還是太麻煩了,所以你可以用python處理一下
操作演示
打開(kāi)文件編輯器,找到你要的圖片

寫(xiě)一個(gè)腳本,把圖片放大為2倍
命令行運(yùn)行腳本python?expand.py swap_hat\swap_hat-0.png 0.532374 -0.403497

4.平移畫(huà)布。如果放大解決不了問(wèn)題(比如上圖里,放大之后圖片超出了邊框),一般就需要平移。你不可以在Spriter里直接移圖片,但是你可以編輯scml文件里的pivot。一種可視化編輯方法是,首先用Snipaste截圖,以錨定紅點(diǎn),然后在Spriter里平移圖片。完成后,需要恢復(fù)紅點(diǎn)位置,此時(shí)緩慢挪動(dòng)紅點(diǎn),把它挪回原位,這時(shí),右鍵override default pivot覆蓋紅點(diǎn)坐標(biāo),然后雙擊畫(huà)板里的圖片打開(kāi)紅點(diǎn)編輯器,查看xy坐標(biāo)。計(jì)算pivot_x=x,pivot_y=1-y,修改scml文件保存。不保存退出Spriter,重新打開(kāi)scml文件,就可以看到平移完成的結(jié)果了。

5.正確地繪制面部。你可以在Spriter右側(cè)的畫(huà)板里查看素材。面部是人物貼圖里數(shù)量最多,最難分辨的一個(gè)符號(hào)。以下是我在Krita里的圖層。你需要重點(diǎn)查看幾個(gè)表情動(dòng)畫(huà)(emote)。

6.刪除不必要的符號(hào)。當(dāng)你的人物沒(méi)有尾巴時(shí),你可能會(huì)把尾巴圖片全變透明,但其實(shí)你完全可以刪掉尾巴文件夾。刪除文件夾后,你打開(kāi)Spriter,對(duì)每個(gè)缺失的圖片按shift+delete,把對(duì)應(yīng)的圖層刪光。
7.更新圖片大小。當(dāng)你修改任何一張圖片的尺寸后,都要另存為一次(save new project)。因此建議你在正式導(dǎo)出之前,另存為一次。
8.正式導(dǎo)出。如果你使用的是extended sample character,那么建議你裁剪一下圖片。由于裁剪會(huì)改變圖片尺寸,你不僅要修改紅點(diǎn)坐標(biāo),而且要重新保存一次scml。之所以要這么做,是為了避免圖片過(guò)大導(dǎo)致導(dǎo)出時(shí)出現(xiàn)bug,同時(shí)也是為了節(jié)省存儲(chǔ)空間。我提供了cropscml.py以方便地裁剪一個(gè)scml的所有圖片。
9.刪除anim.bin。如果你使用的是我的animation template,務(wù)必刪除zip里的anim.bin,以避免同名動(dòng)畫(huà)文件覆蓋官方動(dòng)畫(huà),同時(shí)節(jié)省存儲(chǔ)空間。
流程4:制作雜七雜八的貼圖
現(xiàn)在你應(yīng)該有如下文件:
modicon.png,大小128x128足夠了
names_xxx.png,names_gold_xxx.png,這倆一樣都是金色的
avatar_xxx.png,avatar_ghost_xxx.png,self_inspect_xxx.png
一張存檔貼圖saveslot_portraits/xxx.png
一張選人貼圖selectscreen_portraits/xxx.png
一張小地圖貼圖xxx.png
什么?你不知道從哪里找這些圖片?搜索官方文件夾,或訂閱任意人物mod,或extended sample character模板,使用ktech等工具即可得到所有圖片
注意事項(xiàng)在視頻https://www.bilibili.com/video/BV1QX4y1d76r/?里有提到,需稍微編輯一下xml
流程5:進(jìn)游戲
使用ktech.exe、autocompiler.exe等,把你做好的貼圖全部導(dǎo)出為tex、xml和zip文件。
什么?你不知道xml文件從哪來(lái)的?建議查看https://www.bilibili.com/read/cv21780377?里面github倉(cāng)庫(kù)的工具使用說(shuō)明
然后根據(jù)上面視頻,按部就班把mod組裝完成。
訂閱Mods In Menu,啟用它,在MiM Mods里面啟用你這個(gè)mod

如此一來(lái),你就可以在衣柜里看到你的角色了。
