跳轉到內容

Trainz/資產層次結構

來自 Wikibooks,開放世界的開放書籍
logo
Trainz 培訓學員基礎知識

Trainz 資產維護和建立
目錄 | 開始樂趣 | AM&C | 建立 | 書內參考資料 ORP 參考資料:  • 索引 • 容器 • 種類 • 標籤 | 附錄  • 版本
 詞彙表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 滑鼠使用
 符號

就像軟體中經常出現的情況一樣,魔鬼在細節中


當 N3V Games 在 2007 年接手 Trainz 系列軟體的持續開發工作時,年輕程式設計師的思維方式是他們的便利性,而不是他們的更改將對數以萬計的現有資產產生的影響。透過使用網格和轉向架表、縮圖和擴充套件以及其他此類容器來明確指定資產元素的首選方法,Trainz UTC 時,這些方法大多已“到位”

給新手的說明

[編輯 | 編輯原始碼]

Trainz 論壇 上,人們經常互換使用資產內容這兩個詞,因為除了上下文之外,它們是相同的。從嚴格的技術(計算機科學定義)意義上講,一個“資產”需要在容器內才能成為“內容”,在最高層面上,這意味著它將是 路線(或地圖)個人資料(或會話) 的依賴項。但這些資產並未報告所有所需的依賴項,因為它們只是列出了與引用 KUID 關聯(連結或呼叫)的一系列其他上層 資料型別[註釋 1]  對個人來說,最重要的容器是她的本地資料庫(透過在 內容管理器 中使用“本地內容”過濾器(或選項卡)來選擇),它列出了資產——最初只對我們所有人而言是路線和會話;但隨後新增到 程式碼構建 的基礎 資料櫃 中的資產。某些專案是可選的。某些車輛部件僅適用於動力車輛。

資產組織

[編輯 | 編輯原始碼]

Trainz 資產都以同一個資料夾中的資料開始,通常在編輯時,資料夾將以 使用者名稱 命名,該使用者名稱列在 TrainzBaseSpec 的強制部分中,位於 config.txt 檔案 中——該檔案是中心資料自定義的 INI 檔案,用於設定每個資產。當一個人開始 修復有缺陷的內容 時,會發現有兩個關鍵資料元素定義了此類 config.txt ini 檔案中必須定義的其他內容:類別-類別標籤,它(最初)僅鬆散地定義了某些列舉型別,這些型別描述了內容建立者希望資產的使用方式(例如,各種型別的車輛、風景、互動式軌道旁物品,如訊號等)和 KIND 規範(標籤和 容器 的混合,指定某些子元素,這些子元素是定義面向物件類的資料元素所必需的。在較新的資料模型中,特別是對於 樣條物件 而言,類別-類別標籤具有處理確定角色,並作為 種類軌道 定義的一部分進行互動,這是當前唯一允許的樣條資料類別(再次面向物件思考),並且 DLS 上傳過濾器現在不允許上傳較舊的樣條種類。

不幸的是,N3V 程式設計師沒有理由提供翻譯實用程式,許多較老的內容建立者,如令人敬畏的 PhilC(他的 World of Trainz 現在已關閉),已經停止製作新內容或更新舊作品。製作樣條物件,如橋樑和隧道,對於 CC 來說是一項更困難的任務,儘管標準化的物件類簡化了程式設計人員的任務;他們似乎認為使用者社群為他們工作!
首先說明一下資產資料儲存和有缺陷的內容
許多(如果不是大多數)下載內容中的內容錯誤都是由於 路徑規範 不匹配造成的,也就是說,較新的數字模型並不總是與原始資料約定相連線。此類資產在較舊的 Trainz 版本中執行良好,但在 N3V Games Trainz 版本中,許多資產將無法執行,除非對資產進行調整以符合 N3V 程式設計師面向物件程式設計的資料組織理念。
檔案資料夾
 通常與資產的 使用者名稱 相同,除非該使用者名稱重複
Config.txt 檔案 + KIND
 將 TrainzBaseSpec 和 KIND 需要合併到一個 INI 檔案中。配置檔案還“包含”依賴項——具有已建立 KUID 的其他資產部件。
其他根檔案
 —其他資產部件,尤其是常用的紋理檔案,由資產的幾個部件使用,通常還有資產的螢幕截圖檔案。
第一個子資料夾
 —此類資料夾的總數各不相同,由內容建立者 (CC) 組織,從無到有,某些種類有很多資料夾。其他種類,尤其是 種類風景(如建築物或樹木),通常根本沒有子資料夾。
XXn 元件檔案
 —通常是網格、紋理和 texture.txt 檔案,但也包括動畫檔案。如果沒有子資料夾,這些檔案必須位於資產根資料夾中(無需指定公共部分,因為所有檔案都在同一個 路徑規範 中)。提示:請注意上面關於路徑規範的內容!
第 i 個子資料夾
 —各不相同,根據約定,資產通常在大多數數字模型中都有三個子資料夾,尤其是車輛 火車車廂數字模型
第 i 個資料夾的元件檔案
 —通常是網格、紋理和 texture.txt 檔案,但也包括動畫檔案等。
第 NN 個子資料夾
 —各不相同,由內容建立者 (CC) 組織,從無到有,但根據約定,在 火車車廂數字模型 中通常有三個子資料夾。該約定基於 Trainz 1.0 中資產的組織方式。
第 NN 個資料夾的元件檔案
 —通常是網格、紋理和 texture.txt 檔案,但也包括動畫檔案。
常見的約定資料夾名稱 _art、_body、night 或 nighmode、_shadow(帶下劃線的資料夾名稱在車輛資產中非常常見)。


在 Trainz 中,所有此類子元素關聯並不一定是獨立的資產,但有些被稱作 引用(表示一個子資料型別,一個具有特定屬性和成員的結構——但與種類不同,它可以在各種種類中作為子元素使用,構成父-子關係),並且包含在各種 種類 中,其活動效果(後續處理)基於 類別-類別標籤 和指定該子元素的種類。

對於熟悉面向物件程式設計的人來說,Trainz KINDS 是類結構,它們的子容器元素具有繼承性,但這些多用途子元素(更原始的資料類)的各種強制性需求是基於 KIND,而不是 容器


駕駛員會話或場景

路線、地圖或佈局

[編輯 | 編輯原始碼]

類別-類別標籤是地圖,手冊、Trainz 選單和勘測工具控制使用“路線”和路線構建以及路線構建工具,而模型鐵路愛好者世界使用的是佈局。在每種情況下,它都是指定義虛擬世界的那個資料集,在 Trainz 中,它從單個基礎地圖板開始。

以下資產附加到地圖資產


地面紋理(地形繪製,F2 工具)


建築物(除非是互動式產業,否則屬於 風景型別。)


其他結構,例如動物、動態或靜態人物、風車、燈塔等。


電力線杆 - 以前是樣條線物件,現在歸類為軌道。


植被 - 植物景觀(樹木、灌木、花卉、田間作物)


道路 - 以前是樣條線物件,現在歸類為軌道。


路標和路牌(特殊“樹木”,帶有文字和有時符號!)


車輛,靜態道路型別 - 對新手來說有點混亂,這些有時也被 類別-類別標籤 歸類為建築物或景觀資產。以前,N3V 之前的 Trainz 有兩個內建過濾器,影響 CMP 和 Surveyor 中的物件和元件搜尋,型別區域 - 這兩個過濾器在 CMP 中很有用,特別是在 Surveyor 搜尋中,儘管 CC 定義的不太一致。這些標籤現在在 v2.8 以上的 TB 中是非法的 (TC3)。


軌道 - 包括隧道和樣條線工程(可擴充套件)橋樑。如上所述,所有樣條線型別現在都被 DLS 上傳篩選強制退休。


軌道旁物體 - 包括大量通用內容:(訊號、速度板、龍門架、電氣面板等)
工業(包括客運站)
產品

機車車輛

[編輯 | 編輯原始碼]

機車車輛,例如機車(發動機)、客車(車廂)和貨車(貨車)放置在 Surveyor 編輯器模組的地圖上,但實際上是在相關的 Trainz 會話模組 中連線,同時在 地圖中的參考表(kuid 程式碼列表)中列出。

這些資產型別是機車車輛資產的組成部分
轉向架(美式英語:卡車)
引擎規格
引擎聲音
喇叭聲音
內飾
受電弓

HTML、媒體和 TrainzScript 資產

[編輯 | 編輯原始碼]

Trainz 中的媒體資產執行各種功能。

聲音 - 聲音檔案型別用於建立背景噪音,例如小溪的輕柔低語、烏鴉的喧囂鳴叫、遠處教堂鐘聲的聲音或喧鬧繁忙的工業區有打樁機的聲音。它們是必不可少的聽覺景觀專案,與設計精良的三維景觀建築(例如樹種或豪華房屋)具有相同的功能。許多是附加的,是更動態物件的組成部分,並且僅在有特定動作時才觸發(機械開關改變交叉點位置的噪音)。
HTML 資產 -
規則 - 規則是小型小程式(通常稱為指令碼小程式),用於 遊戲指令碼 資產,用於 駕駛員會話 內部。它們為 路線 (地圖型別) 的數字模型功能提供“軟體鉤子”,並使會話的編碼能夠與遊戲軟體通訊值。此類規則通常還涉及監控、儲存和處理表格資料,例如對會話進行編碼以讓駕駛員加速一次,但不能兩次而不會受到懲罰,或其他可能的評分互動想象。
駕駛員命令 - 是使用者可修改的規則,可以在駕駛會話期間更改,或者作為 AI 駕駛員 任務命令逐個執行。
  • 允許的駕駛員命令由駕駛員命令規則控制,該規則將可選選擇限制為我們在駕駛期間下拉駕駛員命令選單中的選擇。這意味著如果會話設計師不希望您透過軌跡標記導航,或允許自動耦合或解耦,則必須在 會話編輯器 中修改會話(將捆綁的路線和會話自動克隆到您的個人版本)以在新的修改後的會話中訪問此類規則。
支援場景的檔案
- 場景支援存在於所有版本 Trainz UTCTS12 中,但由於 TrainzScript 的未使用,它基本已經消亡。它在 TANE 中不受支援。
場景 TSO 檔案 - 場景支援檔案,Trainz 場景的主要程式
場景 GS 或 GSE 檔案 - 場景支援 Trainz 指令碼檔案
..\libraries 和各種資產資料夾將繼續使用 *.gs(開源)和 *.gse(加密)檔案,這些檔案也用於建立某些資產功能和規則、新的駕駛員命令等,所有這些都支援會話。


備註和腳註

[編輯 | 編輯原始碼]
備註
  1. 其中,依賴資產被併入,因為它被獨立資產使用,而獨立資產本身就是一個資產(例如機車轉向架)放置在容器中(機車數字模型,自定義資產)。引擎聲音顯然屬於 KIND 引擎規格。
參考文獻
華夏公益教科書