跳轉到內容

Trainz/KUIDs

來自華夏公益教科書
(重定向自 Trainz/KUID)
logo
Trainz學員基礎知識

Trainz資產維護與建立
TOC | 開始樂趣 | AM&C | 創作 | 書內參考 ORP參考:  • 索引 • 容器 • 種類 • 標籤 | 附錄  • 版本
 詞彙表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 滑鼠使用
 符號
editor screenshot
在Windows中使用Programmer's Notepad的多標籤窗格來管理Trainz資產資料。
 • 大塊的 逗號分隔的kuid 在設定自定義路線構建的SPEED方面非常有用——Surveyor需要查閱的資產越少,所有 Surveyor熱鍵 和構建或裝飾過程的速度就越快。
 • 這樣的列表在不同版本之間的 內容管理器 中以及在本例中也佔有一席之地——例如,像頁面頂部(顯示 缺少的資產)這樣的列表可以轉換為像頁面底部列表那樣的CSL塊,適用於在另一個Trainz安裝中進行搜尋(例如,在進入GUI駕駛或 路線構建之前檢視所有依賴項或所需資產是否可用)。
需要思考的要點

各種資產名稱和KUID,例如
內容管理器 中“全部複製”可能會給您
Highland Valley SD38 No23, <kuid:62941:123>
Sub Station, <kuid:58973:27012>
GW Malt Sec5, <kuid2:97212:5200:1>
ken, <kuid:119692:840>
mack-truck, <kuid2:50567:15770:1>
fred2, <kuid:50567:15717>
Erie covered hopper Mfx2, <kuid:58422:1067>
Tanker MBLX (FUEL), <kuid2:64038:151024:1>
Tanker UTLX 950423(LARS), <kuid2:113556:61005:1>
Tanker ExxonMobil (FUEL), <kuid2:64038:151023:1>

僅供參考,Fred是現在用於列車尾部的紅色發光儀器包,以前是車尾。現代的Fred包含RFID電路和GPS,並與駕駛室中的接收儀器通訊資料——如今,甚至是倒車攝像頭檢視——讓工程師準確地知道他的列車尾部在路線上的位置。

KUID是在建立資產時分配給它的唯一識別符號。TRS2006手冊將它們稱為從Kool Things Unique Identifier Data派生的助記符,Trainz依靠它們來理清事物並組合正確的子資產以呈現3D虛擬世界。KUID的核心部分是作者的Trainz ID程式碼編號,它將是他建立的每個資產共有的。這是kuid在第一個分隔符(冒號“:”字元)之後的第一部分。沒有kuid程式碼,就沒有資產。Trainz將讀取 一個沒有kuid的配置檔案 並立即報告多個錯誤之一,最常見的是——"警告:無法讀取位於'<資料夾名稱>'處的資產的配置檔案"而不是“資產沒有有效的kuid”。

此KUID功能是在最初的Trainz 0.9 Beta原型中引入的,目的是將資產元件檔案組織到單獨的資料夾中,併為了方便對資產進行編目,因為最早版本的資產 下載站(線上免費庫)需要一個內建的資料結構來跟蹤幾個相似資產之間的差異,以及一種使用正確指定資產的可靠方法——如果僅使用資產名稱作為那個時代的硬碟資料原始組織中的資料夾名稱,那麼太多名稱可能會相互覆蓋。解決方案是不依賴可能重疊的名稱,而是透過使用kuid派生的名稱(用空格替換冒號(':’)字元)對早期Trainz(甚至現在)中的檔案資料夾進行組織。請檢視您..\UserData\local\hashfolders目錄中的資料夾。

Kuid(基本kuid)格式
<kuid  : 作者ID# : 基本Kuid索引 >    
Kuid2格式
<kuid2 : 作者ID# : 基本Kuid索引 : 版本字尾>

還需要某種方法讓使用者能夠識別資產的不同版本——將有效的試驗與無效的試驗區分開來。在早期開發中,曾設想過 過時的表格,但在實踐中,這些表格存在某些缺點,因為它們的使用會永遠“破壞”資產識別符號程式碼。這種需求催生了擴充套件的kuid,即Kuid2格式,因為隨著 Trainz 1.0 的一系列服務包的釋出,跟蹤特定資產修訂版的問題變得越來越重要。可以說,Trainz正在經歷磨合期和成長煩惱,但它正在快速成長和成熟。到 UTC 時,正如在其他地方提到的,它也可以算作Trainz 1.0的第四個服務包,這兩種方法都已到位,軟體經過培訓可以識別kuid2和kuid格式,以及 過時的表格的舊版本。

此外,還希望能夠識別資產的原始作者,以及根據國際法誰擁有其版權,以便Auran能夠保護其所有權。有兩種版本:KUID和KUID2。Trainz的TRS2006之前的版本需要手動建立資產,因此必須手動分配KUID。在TRS2006及更高版本中,當您點選“新資產”或“克隆資產”時,CMP會自動分配KUID。

原始格式的KUID如下所示
<KUID:123456:123456>.
  1. KUID的第一個數字元素是作者的使用者ID。可以透過使用者的Planet Auran個人資料訪問使用者ID。使用者在註冊Planet Auran時會獲得一個使用者ID,並且使用者ID是按隨機數字順序分配的。大多數使用者ID有5位或6位數字,其中5位數字占主導地位。但一些早期的使用者ID可能只有4位或更少的數字。一些使用者ID只有一個數字的作者程式碼。
  2. KUID的第二個數字元素是作者設定的唯一編號,可以是任意位數,通常為6位左右,並且經常進行編碼,以便前幾位數字指示建立的數字資產的類別或型別(例如,10表示火車車廂[滾動庫存],因此101的字首為 平板車,102為40' 箱車,103為 參考,等等。一些 CC 將型別品牌擴充套件到轉向架等部件,或者可能為這類部件型別設定一個組。
  3. 如果使用CM/CMP建立或克隆資產,CMP會為每個使用者 安裝分配增量編號,預設情況下在1xxx範圍內(開始)。例如,您建立的第一個內容很可能對內建的標準 路線會話進行更改,因此,如果您的使用者識別符號為“123456”,則kuid可能會建立為<KUID:123456:1001>,依此類推。
  4. TrainzUtil可用於更改下一個生成的kuid起始值,然後CM將在為新資產kuid程式碼分配時生成高於該值的下一個空閒編號。提示:在給定情況下,由於路線始終具有預設會話,因此路線修改將生成兩個以1001和1002結尾的連續kuid

使用KUID時,如果作者將資源上傳到DLS,其KUID為<KUID:123456:100001>,並且希望更新該資源,則需要為更新後的資源分配一個新的KUID,例如<KUID:123456:100002>。為了替換DLS上的資源編號100001,必須在新資源的配置檔案obsolete-table部分記錄過時的資源的KUID。(在其他地方討論)。這可能會讓人感到困惑,因此KUID2被設計出來作為這個問題的解決方案。

KUID2的格式與KUID略有不同。
<KUID2:123456:123456:1>,其中新增的欄位是基於零的版本索引。

與之前一樣,前兩個數字元素是作者的使用者ID和資源的唯一識別符號。第三個數字是資源的版本號,可以高達“127”。KUID2實際上是基於零的,因此<KUID2:123456:123456:0><KUID:123456:123456>相同——儘管N3V的程式設計師在何時承認等效性方面並不一致,因此實際效果也存在差異。[註釋 1]

現在,只需遞增版本號即可更新資源。KUID2的巧妙之處在於,它們也可以應用於具有KUID的資源。例如,如果我們採用資源<KUID:123456:100001>並希望更新到KUID2,只需將更新後的資源的KUID標籤更改為<KUID2:123456:100001:1>,DLS就會自動將原始資源標記為已過時(在CM搜尋窗格的術語中為“已過時”;CMDLS通訊並跟蹤是否有更新的資源可用)。[註釋 2] 在本地,每個使用者的CM/CMP安裝都會檢測此類更新,並通知所有擁有該資源過時KUID版本的使用者的更新版本可用。由於TS2009 CM也會以可視方式顯示此資訊,使用符號將其更新到KUID2版本。 

 

*在trainzoptions.txt(TR04—TS12)中設定“freeintcam”開關引數或在TANE及更高版本中選中具有相同功能的複選框(釋放內部攝像頭),將鍵盤箭頭功能從旋轉和傾斜功能更改為前後或左右滑動攝像機位置。Freeintcam模式使使用者能夠將許多攝像機完全移到駕駛室外部或移到更具優勢的視角(和滑鼠控制)角度。

註釋、腳註和參考文獻

[編輯原始碼]

Config.txt檔案在Trainz資源中無處不在,因為沒有資源可以在沒有這種型別的計算機科學容器的情況下進行定義。在編輯或建立Trainz內容時,必須始終牢記關鍵字-鍵值對。 TrainzBaseSpec包含在定義資源的config.txt檔案中最為常見的數值和容器。 

註釋

  1. 某些N3V Trainz版本會在CM KUID輸入視窗中將<KUID2:123456:123456:0>和<KUID:123456:123456>顯示為相同,而其他版本則對它們進行不同的處理,並在資料庫中忽略基本KUID格式,如果在搜尋中使用KUID2格式。
     • 經刻意測試,在配置檔案中使用KUID2格式作為識別符號值是完全可以接受的(在新資源和修改後的舊資源中),並且所有版本的N3V軟體都對其進行了正確處理。
     • 因此,許多人在建立資源時只使用KUID2格式,並且如果保留手動維護的非Trainz資料庫(帶有原始檔的OS檔案資料夾)檔案,則使用格式“kuid2 xxxx yyyy n;v#-#; assetname,因為當所有內容都編碼為KUID2語法時,它使得建立基於KUID進行搜尋的檔案資料夾更加簡單。(然後字母數字排序可以正常工作。)
     • 此類檔案還允許搜尋以在需要修復或新建資源時找到紋理;並且是初始化新Trainz版本或重建舊安裝的資源。
  2. N3V的CM版本將拒絕任何嘗試開啟檔案進行編輯,然後僅透過重新提交來升級它並更改KUID。但是,可以使用兩種方法來達到相同的效果。
     • 1) 更改配置檔案的KUID,然後將資料夾拖放到CM中,因為較舊的KUID被“標記”為“已開啟以供編輯”,軟體只是將資料夾和資料視為匯入的資源。然後可以獨立地重新編輯回原始KUID並提交,或者假設它沒有錯誤,只需鍵入CTRL+R恢復到原始的更改前版本。如果恢復一個已開啟以供編輯的版本,在移動或刪除其資料夾之前重新提交似乎不是必需的,但可能是比這樣做更安全的。
     • 2) 將資料夾複製到另一個目錄,然後在那裡更改KUID,同時透過在原始KUID下提交更新的表單來測試改進。這使得在新增更新的KUID版本之前,可以對提交進行全面測試。

 

腳註

 

參考文獻


 

華夏公益教科書