[教程] 在EU4中制作自定義圖標(biāo)與UI

前言 ??
????在EU4中,如何讓一個(gè)事件變得與眾不同,更有風(fēng)味呢?除了圖片和事件文本,還有一個(gè)可操作性更高的選擇,那就是自定義圖標(biāo)。


一.畫一個(gè)UI
????在講解前,我先推薦一個(gè)輕量的修圖軟件,名叫paint.net,其兼容性和通道的處理比較強(qiáng),且可以對(duì)幾乎所有的圖像文件,如.tga和.dds,生成縮略圖,這個(gè)功能還是很舒服的。(所以我把所有dds和tga文件的默認(rèn)打開(kāi)方式設(shè)置成了paint.net)
????但是其功能肯定是不如ps的,建議將其作日常輔助用


????所謂事件ui,其實(shí)也就是一個(gè)大一點(diǎn)的圖標(biāo)。在一個(gè)事件文本中,只有標(biāo)題和選項(xiàng)的文本是中間對(duì)齊的,所以我們?cè)谥谱魑谋究蛲獾膗i時(shí),大多是從標(biāo)題和選項(xiàng)上進(jìn)行引用。(具體怎么引用下面會(huì)講)
????這里拿事件標(biāo)題舉例:與標(biāo)題的文本一樣,標(biāo)題上引用的圖標(biāo)并不是以標(biāo)題位置為起點(diǎn)的,而是以標(biāo)題位置居中。所以我們需要對(duì)標(biāo)題上方進(jìn)行透明通道的留白,以使其出現(xiàn)在想要的位置。
????具體的大小我就不講了,你們制作的時(shí)候就用下方的png文件作為模板進(jìn)行比對(duì)吧。(想要圖片素材的話可以去EU4本體的gfx\interface里淘一淘,能保證風(fēng)格的統(tǒng)一)


????重要的一點(diǎn)來(lái)了,圖標(biāo)文件一般都是以dds格式保存的,當(dāng)你完成了ui的繪制,你會(huì)發(fā)現(xiàn)保存后的圖像并不能在游戲內(nèi)正確的引用。這是因?yàn)楸4娴耐ǖ栏袷讲粚?duì),這里我們選擇B8G8R8A8(線性, A8R8G8B8) 或 BC3(線性,DXT5)
前者透明通道的處理明顯優(yōu)于后者,但是體積更大。使用有陰影的圖標(biāo)時(shí)建議使用B8G8R8A8(線性, A8R8G8B8)


二.自定義圖標(biāo)的定義與引用

??? 而EU4的所有圖標(biāo),如上圖所示的附屬國(guó)圖標(biāo),修正圖標(biāo),任務(wù)圖標(biāo),以及事件圖片等圖像資產(chǎn),都是在MOD根目錄/gfx文件夾中存放,并在MOD根目錄/interface的.gfx文件中定義的。
??? 定義流程:
????下圖舉例,假如我已經(jīng)有了如下圖所示的事件UI,而我想在游戲中將它調(diào)用,我就應(yīng)該先對(duì)其進(jìn)行一個(gè)定義:
1.????先在根目錄下的interface文件夾中新建一個(gè).gfx文檔,或者復(fù)制一個(gè)現(xiàn)有的.gfx文檔進(jìn)行清空。
2. ?? 輸入如下代碼,之后該文件內(nèi)的定義都要在這個(gè)大括號(hào)中進(jìn)行
3.??? 對(duì)icon進(jìn)行圖標(biāo)的定義,其定義格式是這樣的:
最后效果如下例
??? 引用流程:
????歐陸風(fēng)云4中出現(xiàn)的文本都是在MOD根目錄/localisation中的.yml本地化文件中實(shí)現(xiàn)的,文本中的圖標(biāo)也不例外。如下圖所示,我們?cè)谏弦徊襟E定義的圖標(biāo)名就可以在其中進(jìn)行引用了。

????圖標(biāo)的引用以如下格式進(jìn)行,為了實(shí)現(xiàn)圖標(biāo)的居中,這里在標(biāo)題另起一行引用。
????就能實(shí)現(xiàn)下圖的效果了


三.進(jìn)階教程
????你想像過(guò)動(dòng)態(tài)任務(wù)圖標(biāo)和動(dòng)態(tài)事件圖片嗎,其實(shí)在EU4的框架下完全可行,甚至有專門的定義方法,只需要序列幀即可。既然是進(jìn)階教程,我這里就不對(duì)基礎(chǔ)做太多贅述了,直接上定義用代碼和例子,請(qǐng)見(jiàn)諒。


最后就實(shí)現(xiàn)了一個(gè)動(dòng)態(tài)的圖標(biāo)
至于這種圖片的生成可以自行搜索序列幀