破門而入地圖編輯器教程(二):背景圖片知識(shí)及多樓層地圖制作和發(fā)布
背景圖片知識(shí):
?????? 要制作自己的地圖,那首先要弄清官方地圖里面的各種場(chǎng)景效果是怎么來(lái)的。首先看看下面這關(guān)的地圖場(chǎng)景

?????? 在見識(shí)過(guò)官方地圖的場(chǎng)景后,一些初次接觸地圖編輯器的人也許還想著把自己的地圖也放上花花草草,山坡綠地之類的,或是放一架地圖中間那樣的樓梯,好讓自己的地圖看上去細(xì)節(jié)豐富,制作精良。
但他們點(diǎn)開地圖編輯器找了一圈之后,往往會(huì)直呼:為什么我的編輯器里面沒(méi)有這些東西!
還是以這關(guān)為例,當(dāng)我們?cè)诰庉嬈骼锩娲蜷_它時(shí),會(huì)發(fā)現(xiàn)什么呢?

?????? 我們可以看到紅色的東西勾勒出游戲中不能穿過(guò)的邊界,而花草和樓梯都不是擺放在地圖上的物件,官方地圖甚至連墻體都沒(méi)有。
?????? 這說(shuō)明了什么呢?說(shuō)明官方地圖中各種環(huán)境、花草、階梯之類的東西,都是一張貼圖。而憑編輯器本身所包含的項(xiàng)目想制作出什么美輪美奐的場(chǎng)景基本是沒(méi)戲了。破門而入編輯器的門檻很低,同樣它的下限也是。
?????? 再提一點(diǎn),自制地圖創(chuàng)建的背景文件格式為tga,而官方地圖的地圖背景文件格式為dds。一般情況下,dds格式的地圖背景文件都無(wú)法在編輯器中修改,但它本質(zhì)上仍然是一張圖片。既然是一張圖片,我們就可以用到Photo Shops來(lái)編輯它。你需要準(zhǔn)備好PS并安裝dds插件,否則PS無(wú)法導(dǎo)入該格式文件。你也可以通過(guò)VTFEdit將其導(dǎo)出為tga格式后再進(jìn)行編輯。

?????? 再講下一塊內(nèi)容之前,請(qǐng)大家先注意看一下這張我從官方地圖中改過(guò)來(lái)的地圖,有沒(méi)有很熟悉的感覺?能看出哪部分是官方地圖修改而來(lái)的嗎?

仔細(xì)觀察的人不難發(fā)現(xiàn),地圖正是改動(dòng)自官方地圖:李的雜貨店。

類似這樣,通過(guò)編輯器,我們不僅能自制地圖,我們還能夠修改官方地圖。
?????? 如果你不知道地圖文件的具體位置,你可以在編輯器中打開一張地圖,什么都不做直接點(diǎn)保存便可以查找文件路徑。?:\Steam\steamapps\common\DoorKickers\data\levels\??.xml

?????? 直接將xml文件復(fù)制到文檔里面(C:\Users\Administrator\Documents\)KillHouseGames\DoorKickers\data\levels位置下,你就成功地在自制地圖中創(chuàng)建了一個(gè)官方地圖的副本。
用Notepad++打開xml文件(用記事本雖然也行但是不直觀),以新建的一個(gè)地圖為例,你會(huì)看到這樣的內(nèi)容:

?????? 地圖的各項(xiàng)基本設(shè)置都可以看得一清二楚,如果你要清空地圖上的一些或全部?jī)?nèi)容也可以從這里直接刪除,注意要保留最基本的內(nèi)容。如果你打算改變地圖背景,記得先創(chuàng)個(gè)副本再修改,或是改完了點(diǎn)“另存為”,還要去地圖文件里修改路徑。
?????? 以“李的雜貨店”為例,按照路徑用PS打開地圖文件,你會(huì)發(fā)現(xiàn)在PS中打開的dds文件會(huì)呈現(xiàn)上下顛倒的情況。

?????? 你可以先將它翻轉(zhuǎn)過(guò)來(lái),修改完再翻回去(圖像-圖像旋轉(zhuǎn)-垂直翻轉(zhuǎn)畫布)。上面我那張改圖的效果可以通過(guò)修改畫布大?。▓D像-畫布大小)或是用仿制圖章來(lái)復(fù)制背景來(lái)實(shí)現(xiàn)(記得先去編輯器里修改地圖尺寸)。這些涉及對(duì)PS的掌握因此在這里不細(xì)說(shuō)。如果你不打算搞這些花里胡哨的改動(dòng)也可以直接保存為tga格式,記得去地圖文件更改背景文件路徑。
?????? 但細(xì)心的人可能已經(jīng)發(fā)現(xiàn)了,游戲中我們看見的所謂“墻體”,是直接在背景文件里畫好的。而光憑背景里一條黑線自然不可能起到阻隔視線和人物的移動(dòng)的效果,因此僅僅擦掉它是毫無(wú)作用的。如果需要對(duì)墻體做出改動(dòng),你還得修改阿爾法通道。

最直接的方法就是直接把它全部擦掉,然后花些時(shí)間去編輯器里自己放置墻體。
?????? 在游戲中打開編輯器,在上方的菜單中點(diǎn)擊“幫助”,可以找到很多有幫助的信息,比如按Shift+方向鍵 可以移動(dòng)地圖上所有項(xiàng)目。如果你在PS中將地圖往左下方擴(kuò)展,就可以用這個(gè)方法把所有物品的位置原封不動(dòng)移到原位,這就完成對(duì)原圖的擴(kuò)建了。


多樓層地圖制作:
?????? 在講完了關(guān)于地圖背景的知識(shí)和復(fù)刻官圖的方法后,接下來(lái)講講如何制作一張多樓層地圖。其實(shí)很簡(jiǎn)單,打開地圖文件,在第四行位置加入以下代碼:
<Storey name="??">(問(wèn)號(hào)處填你要的樓層名)
?????? 并在最后的</Level>之上添加</Storey>,就像括號(hào)一樣,將地圖的屬性和內(nèi)容全部包括在內(nèi)。
地圖格式應(yīng)當(dāng)如下圖:

?????? 再次進(jìn)去編輯器即可對(duì)不同樓層進(jìn)行編輯。注意不要頻繁打開地圖進(jìn)行測(cè)試,否則再次于編輯器打開地圖會(huì)出現(xiàn)無(wú)法編輯其它樓層的BUG,需要重啟游戲才能解決。
?????? 另外需要注意,上下樓點(diǎn)的機(jī)制是將兩張樓層地圖疊在一起后自動(dòng)關(guān)聯(lián)最近的點(diǎn),因此在設(shè)計(jì)樓層時(shí),應(yīng)盡量確保上下樓點(diǎn)的坐標(biāo)位置接近或相同(以左下角為(0,0)點(diǎn)),否則就可能出現(xiàn)上下樓位置錯(cuò)誤的問(wèn)題。
而如果你希望自己的地圖又有二樓,又有地下室,而主樓層在中間該怎么做呢?

?????? 首先明確,樓層順序取決于代碼的順序,代碼在前則樓層順序在下,你需要按照樓層順序調(diào)整代碼順序。然后將文件代碼開頭的
<Level name="地圖名">
修改為:
<Level name="地圖名" deployStorey="樓層名">
填哪一層的樓層名,則初始樓層就是哪一層。

關(guān)于地圖發(fā)布:
?????? 一般地圖可以在編輯器中設(shè)置處點(diǎn)擊Publish to Workshop發(fā)布,發(fā)布后再去創(chuàng)意工坊進(jìn)行細(xì)致的介紹編輯,但如果你制作的是多樓層地圖是不可以用這個(gè)方法的,會(huì)存在背景文件丟失的問(wèn)題。
那應(yīng)該怎么解決呢?
?????? 首先在游戲文件中的mods文件夾里新建一個(gè)你的mod文件夾(?:\SteamLibrary\steamapps\common\DoorKickers\mods),然后在mod文件夾中再新建一個(gè)levels文件夾,把地圖文件和背景文件全部丟進(jìn)去。因?yàn)槲覀円l(fā)的只是地圖而不是mod,所以沒(méi)必要把不同文件分的那么細(xì),全部丟在一個(gè)文件夾也是可以的。

?????? 然后在你新建的文件夾下用notepad++新建兩個(gè)xml文件,分別命名為mod.xml和filesystem_mount.xml

在mod.xml文件中添加以下代碼:
<!--
"name" should be a short (and unique) name. Never update it in the Steam Workshop interface, only update through this file.
"image" shows up in-game but also in Steam Workshop. Should be a 512x512 or 256x256 PNG image.
"tags" only show up in Steam Workshop. comma-separated values. preferably one of: "Levels,Enemies,Objects,Replays,Weapons,Armor,Gear,Total Conversions,Interface,Sound,Other".
"gameVersion" leave it as it is in this template (assuming you have the latest game version). It's also shown in-game in the lower left corner of the screen.
When we'll update the game with a newer version, the mod will probably be invalidated and you'll have to update it for the new version.
"changeNotes" only used when updating a published mod on Workshop, redundant otherwise
-->
<Mod
??? name="MOD名稱"
??? description="MOD簡(jiǎn)介"
??? image="MOD封面圖片路徑(只要填你新建的mod文件夾內(nèi)路徑即可)"
??? author="作者名"
??? gameVersion="游戲版本"
??? tags="MOD標(biāo)簽(一般地圖就填levels)"
??? changeNotes="修改記錄"
/>
上面的英文是注釋,看得懂的可以對(duì)照一下。以我的為例:

先別急著編輯filesystem_mount.xml文件,先去levels文件夾內(nèi)再新建一個(gè)xml文件。
如果你完全按照上面方法走到這一步,你的levels文件夾內(nèi)應(yīng)該如下圖:

在新建的xml文件中添加以下代碼:
<levels>
??? <level source="data/levels/地圖文件"/>
</levels>
回到上一級(jí)目錄,在filesystem_mount.xml文件中添加以下代碼:
<filesystem_mount>
??? <Maps>
??????? <MountFile name="data/levels/新建的xml文件名"/>
??? </Maps>
</filesystem_mount>
到這一步便大功告成,最后打開Steam的破門而入游戲的啟動(dòng)項(xiàng),輸入以下代碼以發(fā)布:
-publish mods/你創(chuàng)建的mod文件夾名
輸入以下代碼以更新:
-update_published mods/你創(chuàng)建的mod文件夾名
運(yùn)行游戲即可發(fā)布,記得去創(chuàng)意工坊完善描述。

再看看別的DK教程?
(づ??????)づ教程(一):8分鐘學(xué)習(xí)基礎(chǔ)、進(jìn)階、高端技巧
教程(二):對(duì)新手武器的推薦與評(píng)測(cè)
關(guān)于傷害與防御機(jī)制的討論(附槍械和防彈衣屬性表)