2014年4月1日 星期二

修改新版 9.0 戰車表皮教學

●準備工具:
Adobe PhotoshopPaint.NET... 等繪圖軟體,WinRAR7-Zip... 等解壓縮軟體。
※ 使用 Photoshop 的話,需加裝 NVIDIA Texture Tools for Adobe Photoshop

各國車輛表皮壓縮檔所在位置 (依情況擇一路徑即可):
X:\Games\World_of_Tanks\res\packages\<主程式所在位置> \res\packages\

其依照各國名稱的第一個英文字排序:
vehicles_american.pkg美國vehicles_german.pkg德國
vehicles_british.pkg英國vehicles_japan.pkg日本
vehicles_chinese.pkg中國vehicles_russian.pkg蘇聯
vehicles_french.pkg法國


對照其國家名稱,車輛表皮檔案的放置位置 (依情況擇一路徑即可):
美國
X:\Games\World_of_Tanks\res_mods\ <版本號\vehicles\american\<主程式所在位置> \res_mods\ <版本號\vehicles\american\
英國
X:\Games\World_of_Tanks\res_mods\ <版本號\vehicles\british\<主程式所在位置> \res_mods\ <版本號\vehicles\british\
中國
X:\Games\World_of_Tanks\res_mods\ <版本號\vehicles\chinese\<主程式所在位置> \res_mods\ <版本號\vehicles\chinese\
法國
X:\Games\World_of_Tanks\res_mods\ <版本號\vehicles\french\<主程式所在位置> \res_mods\ <版本號\vehicles\french\
德國
X:\Games\World_of_Tanks\res_mods\ <版本號\vehicles\german\<主程式所在位置> \res_mods\ <版本號\vehicles\german\
日本
X:\Games\World_of_Tanks\res_mods\ <版本號\vehicles\japan\<主程式所在位置> \res_mods\ <版本號\vehicles\japan\
蘇聯
X:\Games\World_of_Tanks\res_mods\ <版本號\vehicles\russian\<主程式所在位置> \res_mods\ <版本號\vehicles\russian\
※接下來的教學,將以個人所擁有的軟體 Adobe Photoshop 以及 WinRAR 來說明。

這次我們以 Tiger I 來作為教學的教材 (部分尚未優化表皮的戰車仍可參考我以前所做的教學)。
先到 X:\Games\World_of_Tanks\res\packages\ 下找到 vehicles_german.pkg,然後用WinRAR 來開啟該壓縮檔。

首先會看到一個名為「vehicles」的資料夾,點進去會再看到名為「german」的資料夾。而再點進去就會看到數十個資料夾,這一些就是各式車輛、裝備、履帶的資料夾。

找出 Tiger I 的資料夾 ─「G04_PzVI_Tiger_I」然後點進去。順便按照其名稱到X:\Games\World_of_Tanks\res_mods\ <版本號> \vehicles\german\ 中建立一個名為「G04_PzVI_Tiger_I」的資料夾來放置 Tiger I 的表皮檔案。

然後把壓縮檔中 vehicles\german\G04_PzVI_Tiger_I 下所有 *.dds 的檔案解壓縮到 X:\Games\World_of_Tanks\res_mods\ <版本號> \vehicles\german\G04_PzVI_Tiger_I裡。

接下來說明一下各個 *.dds 檔案用途:
PzVI_Tiger_I_chassis_AM.dds底盤懸吊的一般貼圖表皮
PzVI_Tiger_I_chassis_ANM.dds底盤懸吊的表面立體感
PzVI_Tiger_I_chassis_GMM.dds底盤懸吊的磨損表皮
PzVI_Tiger_I_HangarShadowMap.dds車輛於車庫中的影子形狀
PzVI_Tiger_I_hul_crash_AM.dds車體的毀損貼圖表皮
PzVI_Tiger_I_hull_01_CM.dds第1種車體的表面反光
PzVI_Tiger_I_hull_AM.dds車體的一般貼圖表皮
PzVI_Tiger_I_hull_ANM.dds車體的表面立體感
PzVI_Tiger_I_hull_GMM.dds車體的磨損表皮
PzVI_Tiger_I_turret_01_AM.dds第1種炮塔的一般貼圖表皮
PzVI_Tiger_I_turret_01_ANM.dds第1種炮塔的表面立體感
PzVI_Tiger_I_turret_01_CM.dds第1種炮塔的表面反光
PzVI_Tiger_I_turret_01_crash_AM.dds第1種炮塔的毀損貼圖表皮
PzVI_Tiger_I_turret_01_GMM.dds第1種炮塔的磨損表皮
PzVI_Tiger_I_turret_02_AM.dds第2種炮塔的一般貼圖表皮
PzVI_Tiger_I_turret_02_ANM.dds第2種炮塔的表面立體感
PzVI_Tiger_I_turret_02_CM.dds第2種炮塔的表面反光
PzVI_Tiger_I_turret_02_crash_AM.dds第2種炮塔的毀損貼圖表皮
PzVI_Tiger_I_turret_02_GMM.dds第2種炮塔的磨損表皮

遊戲中戰車的原始表皮樣子:

執行 Photoshop 然後開啟 Tiger I 一般車體貼圖表皮 ─ PzVI_Tiger_I_hull_AM.dds
如跳出詢問要以哪種方式開啟此 DDS 圖檔,請選擇預設「Load Using Default Sizes」然後按下「OK」。

開啟 Tiger I 一般車體貼圖表皮畫面:

在右邊「圖層」窗框新增一張圖層,然後把自己想用的迷彩、顏色或圖片放在這個圖層中。

雖然新款表皮已經把一些車上裝備給分離出來,但以 Tiger I 為例,啟動器輔助裝置、啟動手搖桿、纜繩... 等仍舊是放在車輛表皮中。如果直接上色,會把這些東西的原本顏色給蓋過。會像這樣:
所以我們現在要把這些物件個別顯示,才不會使這些物件顏色被蓋過。

先把「圖層」窗框內的「圖層 1」迷彩的指示圖層可見度關掉 (也就是把旁邊眼睛點掉,讓此圖層不顯示)。然後在「背景」上點選滑鼠右鍵,選擇「複製圖層」。
(※要注意複製到的位置)


把「圖層」窗框內的「背景」可見度取消。
然後在「背景 拷貝  1」圖層下,用「橡皮擦」把這些物件以外不需要的地方給擦掉。在擦掉不要的部份時,可以在底下加入一張單色的「圖層 2」來方便判斷需要擦掉的部份。
或許會有人說把需要的部份用魔術棒或磁性套索工具選取就好,不過我發覺由於顏色過於相近,其實會變得難以選取 (要經常調整抓取顏色值)。不過看個人, 喜歡/用起來方便都好。

刪除「圖層 2」,再將「圖層 1」的迷彩下拉到「背景 拷貝」下方並打開其可見度 (眼睛)。

然後再將「圖層 1」的「設定圖層的混合模式」從「正常」改為「覆蓋」。

先儲存檔案成 *.psd 以備將來想要變更表皮或是修改之需。
首先選擇選擇功能表的「檔案」→「儲存檔案」(或者按 Ctrl + S)。輸入你想儲存的檔案名稱,然後按下「存檔」。

後面可能會跳出 Photoshop 格式選項,請按「確定」即可。

接下來儲存成 *.dds 供 World of Tanks 來載入。首先選擇選擇功能表的「檔案」→「另存檔案」(或者按 Shift + Ctrl + S)。

輸入你想儲存的檔案名稱,然後將格式清單下拉到「D3D/DDS (*.DDS;*.DDS)」最後按下「存檔」。

這時會跳出詢問是否取代檔案,請按「確定」。

接下來會跳出 DDS 的格式設定:

將畫面中「DXT1 RGB 4 bpp | no alpha」改為「DXT3 ARGB 8 bpp | explicit alpha」或是「DXT5 ARGB 8 bpp | interpolated alpha」。

再將右邊「MIP Map Generation」中原本所選定的「Generate MIP maps」依需求改為「No MIP maps」,最後按下「Save」等待儲存完畢。

有些人會說:「欸,我一直本來就用 DXT1 存得好好,為何這個教學要我用 DXT3 跟 DXT5呢?」。理由很簡單,這次新的表皮如果使用 DXT1 儲存,會出現覆蓋其上的迷彩、圖片通通都不見的狀況,只有用 DXT3 跟 DXT5 格式才有辦法正常顯示 (※如果你用 DXT1 不會出現這種狀況,我不想也不會強迫你一定要用 DXT1 以外的格式,請自便)。

至於 MIP Map Generation 的部份,「Generate MIP maps」是代表著會生成 MIP maps,而MIP maps 是做什麼用的?
這是當生成 *.dds 時,同時會生成多個除 2 的小表皮。以這張 1024x1024 來說,會生成 11 張小表皮,裡面會包括了 1024x1024, 512x512, 256x256, 128x128, 64x64, 32x32, 16x16, 8x8, 4x4, 2x2, 1x1 等 11 張表皮組合而成的 MIP maps
作用是當你在遊戲中選擇不同的貼圖品質時,會按照設定的來從 *.dds 中讀取某大小的表皮。所以當畫質不是最高時都會看起來有點模糊,那是因為載入的標皮較小的關係。
而「No MIP maps」表示不生成 MIP maps,以這張 1024x1024 來說,就是其 *.dds 只有唯一一張 1024x1024 的表皮,無論你怎麼調整畫質,永遠都是載入那唯一一張的表皮。
壞處當然是會讓電腦 FPS 下降 (因為載入了最清晰的表皮);但好處是,對一些只希望車輛是高畫質就好、或是使用痛車的人來說,該車輛永遠顯示得最清晰 (對痛車來說,非高畫質下 MIP maps會造成人物輪廓線模糊)。
想了解得更深入,可參考這篇文章:DDS Format

教學到這邊的結果預覽 :

(*選用,不一定要這樣做,看個人喜好重複利用車體的輪廓線來強調其髒污/掉漆的真實/立體感
複製「背景」,然後把「背景 拷貝 2」拉到「圖層 1」上方

在「背景 拷貝 2」下選擇功能表的「影像」→「調整」→「去除飽和度」(或者按 Shift + Ctrl + U)

然後再次選擇功能表的「影像」→「調整」→「亮度/對比」,調暗到隱約可見其輪廓即可。

然後在「圖層」窗框內的「背景 拷貝 2」上右鍵點選,選擇「混合選項」。

調整「混合範圍」項目的「此圖層」,將右邊拉桿往左拉動,讓灰白的部分消失,留下認為恰當的黑色部分,按下「確認」鍵將效果套用。

教學到這邊的結果預覽 :

差異比較:
上方圖片是未利用輪廓線,下方圖片則是有使用

接下來戰車其它的部份作法也是一樣。不過... 或許有些人做著做著,弄到最後發現:「咦?我的炮管跑哪去了」。

其實 Wargaming.net 把單一國家的炮管都放在一起了,就在該國壓縮檔 vehicles\german 路徑下的「Guns」中。
在這裡說明一下各個 *.dds 檔案用途:
guns_75_250_AM.dds炮管的一般貼圖表皮
guns_75_250_ANM.dds炮管的表面立體感
guns_75_250_crash_AM.dds炮管的毀損貼圖表皮
guns_75_250_GMM.dds炮管的磨損表皮

解壓縮資料夾到跟車輛表皮檔案的放置位置相同的地方 X:\Games\World_of_Tanks\res_mods\<版本號> \vehicles\german\。 
然後開啟炮管的一般貼圖表皮 ─ guns_75_250_AM.dds 來修改。

最後完成圖:

做完了,但我想不免有疑問:那這樣的意思是不是表示將來我根本沒辦法幫戰車上底色或迷彩?因為這樣一來,別的戰車上的炮管也會變得不一樣。在這邊,目前,我只能說:「是的」。
可能的解決方法有幾種:
1. 等待 Wargaming.net 想把相同口徑的炮管分開來做 (這樣就只需幾台共用炮管的車做相同的底色處理)。
2. 等待 Wargaming.net 想把每一輛車所用的每一管炮管分別放到其車輛的資料夾中 (不太可能)。
3. 等待其它高手修改模組讀取表皮路徑,只讀取該車輛資料夾中的炮管表皮而不是讀取共用炮管表皮,然後只要複製炮管表皮到該車輛資料夾中再修改 (可能性大,但,要等,因為每輛車都要做,不過我想不用很久)。方法已找到,也測過可用。晚點再寫教學好了.... 有點累

※拜託,轉貼、分享都註明一下出處網址 & 作者
隨手註明一下,小不了你也大不了我。反而更顯分享者情操之可貴!謝謝!

沒有留言: