Trainz/種類/kind track
從Trainz 1.3到TANE(在聯鎖訊號樓中增加了與交叉路口和指令碼相關的複雜問題),Trainz 資料模型在軌道和樣條線物件軟體處理方面可能發生了最顯著的變化。這種演變從所謂的塊狀軌道到最初的 TANE kind 程式化軌道,有三個或四個不同的級別。在 Trainz UTC 和 TRS2004 塊狀軌道之間,橋樑和隧道被一系列的kind 軌道所取代 - 種類系統的新正式定義,其中包含這些型別(此處顯示了它們到 CCG 參考頁面的連結):TRS/TC 時代的 CCG 的一個無偏表可以在[此 URL 處找到]:[1]
- 種類:FixedTrack
- 種類:軌道 - 包括帶“彎曲”標籤的樣條線物件
- 種類:橋樑 - 單軌
- 種類:橋樑 - 隧道 - 此種類用於建立道路和鐵路隧道。
- 種類:橋樑 - 雙軌
- 種類:MOCrossing
- 樣條線物件
- 種類:軌道 - 從作物到道路的樣條線場景資產使用各種標籤來定義,這些標籤控制物件如何與世界互動。
對這些進行了逐步改進,但TS2009轉向縫合軌道技術
KIND 軌道為從Trainz-build 版本 2.9 及更高版本(在軌道縫合處理成為預設渲染軟體之後)的所有基於樣條線的資產提供了唯一的資產種類。與名稱相反,正如道路型別被定義為軌道資產一樣,這種種類的資產現在包括簡單軌道、多軌、橋樑、隧道、樹籬、道路、牆壁、路堤、區域性電力線、高壓電力線、接觸網(以及其他軌道旁的“附加軌道容器容器”樣條線),等等。
這種種類的資產使用了一種以前稱為“縫合軌道”的渲染技術。現在所有其他樣條線渲染都已過時,所有過去時代的樣條線類別現在都被簡單地稱為“軌道”,並使用kind 軌道的變體,並設定了適當的標籤來實現數字模型。在TANE 版本(v4.0 及更高版本)中添加了一種可選的軌道型別,kind_procedural-track,它包含了看到動畫交叉路口部分的新功能。此頁面不會直接討論 TANE 中的這種較新技術。
|
- KIND TrainzBaseSpec ,類別-類 標籤集的定義
{S ... 樣條線 和 T ... 軌道 },也就是說類別-類樣條線型別的列表
SF Fences SR Roads SP Platforms SS Structure SV Vegetation TB Bridge TF Fixed Track TR Rails TT Tunnel
- 附加軌道 是嵌入在行業資產中的資產,它從連線到其末端的軌道的軌道繼承軌道特性。
在樣條線物件的config.txt 檔案中定義的KIND 軌道,在由KIND TrainzBaseSpec定義時支援以下標籤。每個標籤在此處顯示其預設值。
| mesh-table | ||
| { | ||
| } | ||
| 軌道容器 | (子容器) | |
| { | ||
| } | ||
| 端點-前 | ||
| { | ||
| } | ||
| 端點-後 | ||
| { | ||
| } | ||
| 附加樣條線 | ||
| { | ||
| } | ||
| 季節選擇器 | ||
| { | ||
| } | ||
| 車輛密度 | 0 | |
| 是道路 | 0 | |
| 是高速公路 | 0 | |
| 是靜音 | 0 | |
| 車道數量 | 0 | |
| 是軌道 | 0 | |
| 是隧道 | 0 | |
| 僅限測量員 | 0 | |
| 在小地圖上可見(與僅限測量員相反) | ||
| 軌道聲音 | ||
| { | ||
| } | ||
| 交通速度 | 10.0 | |
| 隧道頂部高度 | 0.0 |
該"mesh-table"_Container "mesh-table"_Container提供了有關構成此資產的軌道和端點網格的詳細資訊。目前大多數高階網格表選項不可用。重要的是要指定網格。具體來說,應使用“mesh”標籤來指定IM檔案,並且可以使用“mesh-asset”標籤來指定網格的替代源資產。
“軌道”標籤是強制性的,它決定了如何從網格形成樣條線幾何體。它被指定為軌道部件容器。
該附加樣條線容器[2]提供了一種機制,用於具有附加的子樣條線,這些子樣條線以稍微偏移的方式跟隨此父樣條線的形狀。附加樣條線用於在一條樣條線具有一個渲染或功能行為集需要與具有不同渲染或功能行為集的樣條線耦合的地方。例如,一座橋(風景)帶附加的軌道(功能性),或者一組塔架(沒有拉伸或剪下)帶有穿在它們之間的電線(剪下和拉伸以適應。)附加樣條線可以是僅渲染樣條線,這些樣條線實際上除了它們的渲染行為之外不存在,或者它們可以是完全功能性的樣條線,它們的唯一特點是它們會隨著它們的父樣條線一起移動和刪除。
“端點-前”和“端點-後”標籤以相同的方式指定,但不是強制性的。如果存在,這些端點將在每個方向上樣條線的末端之後插入,除非樣條線流到另一條相同型別的樣條線上。這允許內容建立者“密封”樣條線幾何體,而無需在每個細分處引入低效的密封多邊形。端點遵循正常的適應樣條線行為,除了它們在樣條線末端的瞬時方向上繼續保持直線。端點繼承其預設設定來自資產的“軌道”標籤,但任何單個值都可以根據需要覆蓋。
該"Season-selector"_container "Season-selector" container允許選擇一個季節索引,該索引可被"track-lod-tree"_container "track-lod-tree" container使用。
- 型別:布林值(1 或 0)
如果設定(1),則此型別的樣條線被視為道路。道路支援生成Carz。道路被KIND MOCrossing標記為已阻擋,而過路口閘門關閉。道路樣條線通常可以連線,即使它們是不同的資產。
如果沒有另外指定,則設定了“isroad”標籤的資產是“道路樣條線組”的成員(<kuid:30501:100045>)(參見:KIND_Asset-group 中的已知資產組)。
(僅適用於設定了“isroad”的樣條線。)
遊戲在在這條路上生成Carz之間等待 1x 到 3x 的這個小數值,因此數字越低,道路上生成的交通量就越多。
(僅適用於設定了“isroad”的樣條線。)
如果設定(1),則此布林標籤會導致多車道道路充當高速公路。這允許Carz隨意換道,並導致所有交通僅在樣條線的前向方向流動。在非高速公路上仍然允許超車。
(僅適用於設定了“istrack”的樣條線。)
如果設定(1),則此布林標籤會停用在樣條線上播放車輛的每軸聲音。
(僅適用於設定了“isroad”的樣條線。)
定義道路上的Carz車道數量。每個車道被認為是 1.7 米寬。如果道路是高速公路,則所有交通都沿同一方向流動。待定:對於非高速公路而言,這意味著什麼(如果有的話)?
如果設定(1),則此布林標籤會導致樣條線被視為“軌道”,這意味著可以預期火車在樣條線上執行。
這會影響樣條線在小地圖上的可見性,樣條線資產在測量員選擇器中顯示出來,測量員工具可以對資產進行操作,以及是否啟用自動連線點放置。
軌道樣條線通常可以連線,即使它們是不同的資產。
如果沒有另外指定,則設定了“istrack”標籤的資產是“軌道樣條線組”的成員 <kuid:30501:100043>。
如果設定(1),則此布林標籤會導致樣條線被視為“像隧道一樣”。儘管有這個名字,但這與真正的隧道樣條線功能無關(有關詳細資訊,請參見“tunnel-roof-height”標籤。)
某些型別的脫軌在隧道中被停用,因為由於火車車輛和玩家的相機對隧道和地形的相互穿透,導致的使用者體驗會很差。
指令碼函式 Vehicle.IsInTunnel() 在車輛的原點位於隧道樣條線上時返回“true”。
如果使用者處於“外部”或“自動跟蹤”相機模式,而相機目標在隧道中,則相機改為“隧道外部”模式。
當相機目標在隧道中時,環境聲音的音量減小到 50%。
當車輛在隧道中時,某些型別的車輛粒子發射器被停用。
如果設定(1),則此布林值會導致資產在駕駛員中不可見且不可用。這通常用於提供編輯幫助的樣條線,例如模板、標記或標尺。
如果清除(0),則從 minimap 中隱藏此樣條線。具有非僅渲染子級的樣條線永遠不會顯示在 minimap 上。請注意,此標籤沒有固定的預設值,而是預設為“僅限測量員”標籤的反面。
(僅適用於設定了“istrack”的樣條線。)
一個可選的 "track-sound" 容器 "track-sound" 容器,用於幫助計算當火車車輛行駛在這段軌道上時播放哪種聲音。
(僅適用於設定了“isroad”的樣條線。)
定義道路的汽車速度限制(單位:米/秒)。汽車目前的最高時速為速度限制的 80%-110%(取決於汽車),除非超車。此標籤與火車無關。
由隧道使用,以確定地形洞允許的屋頂高度(單位:米)。如果小於或等於零,則不會生成任何地形洞。如果大於零,則此樣條曲線被視為真正的隧道 - 它將在地形網格中生成洞,其地形網格的接近角將鎖定為 45° 增量,並且端點將捕捉到 10 米的網格尺寸。
隧道旨在用於在地形網格下方執行樣條曲線。
隧道樣條曲線嘗試彎曲,以便樣條曲線以 45° 角增量終止。這有助於確保可以透過地形網格成功建立入口孔。
隧道樣條曲線在 Surveyor 中具有略微修改的編輯語義。頂點標記在不同的條件下可見。不允許平滑隧道周圍的地面。隧道樣條曲線始終遵循樣條曲線梯度,而不是對地面高度做出反應。
如果沒有另行說明,設定了“istunnel”標籤的資產是“隧道樣條曲線組”的成員 <kuid:30501:100044>。
軌道資產通常包含多個網格。每個網格代表樣條曲線的一部分,該部分以各種變換端對端重複,以建立整個樣條曲線。多個網格允許 LOD、細節隨機化等等 - 在樣條曲線的不同位置使用哪個網格的選擇由 "track-lod-tree" 容器 "track-lod-tree" 容器 定義。
網格應使用法線貼圖和單個高解析度漫射紋理。出於效能原因,所有網格應使用單個材質(即單個紋理;參見有關網格之間共享材質的說明),而不是為每個網格使用單獨的材質。材質可以使用 alpha 遮罩(1 位 alpha)或 alpha 混合,但是任何 alpha 混合都不會排序(不針對軌道本身的其他多邊形,也不針對場景中的其他 alpha 混合多邊形)。因此,alpha 混合只能用於靠近地面的位置,這樣從攝像機到網格的直線在到達地面之前不會穿過任何其他 alpha 混合物件。正常的 z 緩衝區行為將應用於 alpha 混合和 alpha 遮罩網格。
構成軌道的各個網格部分的建模方式是,任何型別都可以與任何其他型別配合,不會出現明顯的接縫。片段不需要嚴格對稱,因為它們永遠不會相對於先前片段旋轉,但應注意,支援多路連線的樣條曲線會導致一個結構,其中樣條曲線迴圈返回並連線到自己,來自相反方向。
以下是一些近似的多邊形指南。創作者應避免使用超過其需要準確描繪所討論物件的多邊形。
- 極端細節網格 - 用於特寫鏡頭。每 2 米段 1000 個多邊形。
- 高細節網格 - 用於近距離。每 2 米段 200 個多邊形。
- 中等細節網格 - 用於中等距離。每 10 米段 100 個多邊形。
- 低細節網格 - 用於遠距離。每 10 米段 6 個多邊形。軌道紋理貼在道碴上,而不是多邊形建模。
- 初始端蓋 - 用於樣條曲線的開始。100 個多邊形。
- 最終端蓋 - 用於樣條曲線的結束。100 個多邊形。
端蓋提供了任何必要的多邊形來“關閉”樣條曲線,使其在從端部看到時不會出現空心。其他網格不包括任何此類多邊形。端蓋由遊戲自動應用在從一種軌道型別過渡到另一種軌道型別的地方,或在軌道突然開始或結束的地方。
每個網格的長度是獨立指定的。建議每個網格在分配的多邊形預算內儘可能長。
在對軌道樣條曲線進行建模時,應注意確保鋼軌頂部恰好高於原點 0.3 米。這樣可以確保它與火車車輛的車輪相遇,沒有重疊也沒有間隙。
可以指定網格儘可能緊密地跟隨其放置樣條曲線(以前:彎曲)或保持直線但剪下以防止接縫。這將在 "track-lod-tree" 容器 "track-lod-tree" 容器 中詳細討論。
網格上的頂點可能屬於以下兩個高度類別之一
- 接地 - 頂點定位基於地面高度。
- 樣條曲線 - 頂點定位基於放置樣條曲線。
頂點的高度類別由其在網格中的相對高度決定 - 如果它小於或等於每個網格指定的接地高度,則被認為是接地的。
實際效能將根據以下因素而有所不同
- 高細節 LOD 消失的距離。通常這應該非常近。
- 較低 LOD 中的多邊形數量。通常這應該非常低。
- 使用的材質數量。理想情況下,所有網格都使用單個材質,而不是每個網格使用一個或多個材質。
- 每個網格的長度(越長越好)。
- 的效率 "track-lod-tree" 容器 "track-lod-tree" 容器.
- 使用者可自定義的細節設定。
- 等等。
- Media:TS2009-track.zip - Auran 的 MAX 原始碼 TS2009 示例軌道。僅出於教育目的從 TrainzDev 網站分發。未授予對包含的模型或紋理進行復制或再分發的許可。
- Media:TS2012-tunnel.rar - 資產的 MAX 原始碼:隧道雙軌 <KUID:523:19721248>。僅出於教育目的從 TrainzDev 網站分發。未授予對包含的模型或紋理進行復制或再分發的許可。
- Media:TS2012-bridge.rar - 資產的 MAX 原始碼:橋板梁 <KUID:523:19721136>。僅出於教育目的從 TrainzDev 網站分發。未授予對包含的模型或紋理進行復制或再分發的許可。
Config.txt 檔案在 Trainz 資產中是普遍存在的,因為沒有資產可以在沒有這種型別的 計算機科學容器 的情況下定義。在編輯或建立 Trainz 內容時,必須始終牢記關鍵字-鍵值對。 TrainzBaseSpec 包含在定義資產的 config.txt 檔案中最常見的容器和值。
註釋
- ↑ 此連結及其帶連字元的名稱更準確,但截至此註釋日期,頁面 KIND_Procedural-track 不存在。
腳註
- ↑ PEV 在 Windwalkr 中斷連結之前釋出的 TC3 CCG 索引: http://online.ts2009.com/mediaWiki/index.php?title=Content_Creator%27s_Guide&oldid=2738
- ↑ "attached-splines"_container "attached-splines" 容器
參考資料
- Trainz 印刷版或 pdf 檔案 手冊,適用版本 - 通常位於 ..\extras 或 ..\extras\manuals 資料夾
- TrainzOnline Wiki Config.txt 檔案頁面 和其他頁面
- TrainzOnline Wiki:內容創作者指南頁面(各種)
- 各種 CCG 和 Auran 網站
本參考頁面改編自 TrainzOnline Wiki,遵循 CC-BY-SA 3.0 許可。與 同主題的源頁面 相比,本頁面將包含更多文字說明、解釋、歷史和/或示例。
TrainzOnline Wiki 主要由程式設計師或精通 內容建立 的人員維護,可能包含關於當前 trainz-build 程式碼 標準的最新資訊,而這些標準隨著軟體功能的新增而有所變化。

