【乾貨】《都市天際線》Mod開發教程03:置換行道樹示例


3樓貓 發佈時間:2024-12-20 03:33:12 作者:甄別 Language

【乾貨】《都市天際線》Mod開發教程03:置換行道樹示例-第0張

那我們接著往下學習本系列教程。本期要講的是什麼呢?Motherling Tutorial: Two Road Tree Repressor。也就是說,這是一個可以將原版遊戲中的道路樹木替換掉的模組。這個模組有一個特色,就是它可以替換掉原生的遊戲自帶的道路樹木,並且和我們上一個模組一樣,它也使用了 Mad Pros 這樣的工具來瀏覽地圖上的許多道具。

【乾貨】《都市天際線》Mod開發教程03:置換行道樹示例-第1張

首先,第一步是我們要去瀏覽一下,並且修改道路樹木的預製內容,使用我們的 Mother Tours 這個模組來查看。最簡單的方法就是使用 Tours Control。所以,我們先安裝這個模組,去創意工坊裡找 Mother Tools。找到之後,建議將其加入收藏並訂閱。

訂閱完成後,我們就可以啟動遊戲了。在遊戲主界面,點擊內容管理,選擇模組,確認打上了 Mother Tools 的勾,然後啟動遊戲並加載模組。

【乾貨】《都市天際線》Mod開發教程03:置換行道樹示例-第2張

現在我們進入了遊戲畫面,接下來我們要找到 Tours Control 工具。這個工具控制器怎麼打開呢?首先,點擊環境美化,然後往下看,看到了很多樹木。好,現在我們選擇一棵樹,比如說這棵

大紅杉樹。點選它,然後按下 Ctrl + Shift 鍵,叫出 Mother Tours,並打開 Tour Control,再點開 Tree Control。關於豎的工具,右邊是關於樹的屬性。選中的這棵樹的名字存儲在右邊的屬性中,找到了嗎?就是這個屬性,m Pre Faber,它就是這棵樹的名字。如果我們選擇別的樹,這個名字就會改變,對吧?選擇一個比較高的樹,我們選這棵樹。

【乾貨】《都市天際線》Mod開發教程03:置換行道樹示例-第3張

然後在這個地方點擊複製,複製這個模型或者說樣板的引用,它在內存中的引用。我們先複製它,因為後面會用到。複製完成後,我們選擇道路,選擇帶有豎的道路,然後在 Tour Control 中改成 Nether Tour。這是關於道路的工具。道路的名字在哪裡呢?在第一行,就是它的名字,也存在這個地方。m profib,這是它的名字。如果我們選擇別的道路,這個名字也會跟著改變,對吧?現在我們就選這個。

現在,這一步就比較複雜了,就是我們要去尋找它的子層級。點開 mlans 這個矩陣,點擊加號展開來,在 0 的地方,點擊左邊的加號再展開來,然後展開 MLNS Promise,再展開,直到到達 m purpose 這個地方。

【乾貨】《都市天際線》Mod開發教程03:置換行道樹示例-第3張

我們看第四個下面,這個地方有一個 m final three。正好,為了做個對照,我們先在這個地方鋪上道路,比如說在這裡鋪一條路。拉近看一下,這個樹長這樣子。然後我們把它改變一下,用 Final Tree。在這個地方,我們點擊 Paste,就是把剛剛選擇的豎的引用貼上去。看到沒有?神奇的事情發生了,這個樹立馬變大了。再往下拉一點,m final three 也是一樣,點擊 Paste,這樣就把這個道路數給改變了。

【乾貨】《都市天際線》Mod開發教程03:置換行道樹示例-第3張

這就是能夠把道路數加以取代的一個方法。你看,這個樹真的被我們取代了吧?原本是矮的樹,現在變成高的樹了。這就是用 Matters 來改變這個道路數的方法。

我們說行道數吧。行道數的方法是怎麼樣用代碼、用程序的方式讓它自動地改變呢?好,這就是我們下一步要討論的。

【乾貨】《都市天際線》Mod開發教程03:置換行道樹示例-第3張

接下來,我們來做第二步,就是建立一個新的項目。打開 Future Studio 2019,創建新的項目,選擇 C#。然後在項目名稱這裡,我們直接複製粘貼,位置就是在我的文檔裡面。

然後選擇創建,點選創建。好的,然後我們之前把之前做好的一個筆記,就是每次開啟一個新的項目、新的模組都會用到的這個內容,重複內容。好,我們要引用 4 個 API。添加項目的引用,主要就是這 4 個。1234,好,添加,按確定。

【乾貨】《都市天際線》Mod開發教程03:置換行道樹示例-第3張

這部分代碼複製粘貼上去,沒有錯誤,很好。然後我們最好把這個重新命名一下,就是用它的 class 名稱來做它的檔名吧。很好,我們再往下看。他告訴我們快速創建一個新的 C# 檔案,在這邊建立一個新的需下的檔案。好,把下面內容複製粘貼上去。好的,沒有錯誤信息。

編譯之前,我們要先把這個生成事件的部分的命令行貼上去。項目名稱,右鍵屬性,生成事件的命令行,然後 Ctrl + S 保存,來做一次編譯。好,好的,確實我們每個就多了個模組,load tree represser,多了這個模組。編譯沒問題,我們大概看一下代碼在寫什麼。

【乾貨】《都市天際線》Mod開發教程03:置換行道樹示例-第3張

Public press,就是宣告這個類的名字對吧,它的繼承是 Loading Is Tension Base 這個積累。然後要複寫這些方法,這個是由這個 Is Tension Base 所定義的,我們要去 override,要去複寫它。當這個關卡地圖一被載入的時候,要執行這些程序內容。

【乾貨】《都市天際線》Mod開發教程03:置換行道樹示例-第3張

就是這個道路的名字,net info 就是道路的名稱。而 tree 就是 info 這個樹的名字。這個可能我們得改成剛才我們看到的那樣的一個樹的名字。如果沒有這樣的一個,那天 work 的時候他會報錯。如果沒有這樣一個數的話,他也會報錯。如果這個道路的陣列是空的話,就返回,就不繼續了。如果不是的話,就執行一段程序,就是他走個迴圈,然後把豎取代成 m three,還有 final three,這兩個值用剛剛看到的這兩個值把它取代成我們這個 three three five。然後 look in placement successful。

所以關鍵是什麼呢?關鍵就是這兩個名稱要寫對。就是剛剛我們看到的那兩個名稱是什麼呢?我們把它記錄下來。好的,本期教程的內容就先分享到這裡。


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com