跳轉到內容

Trainz/容器/軌道部件容器

來自華夏公益教科書
logo
Trainz 註釋參考
TOC | 開始樂趣 | AM&C | 創作 | 書中參考 ORP 參考:  • 索引 • 容器 • 種類 • 標籤 | 附錄  • 版本

一個 軌道部件容器 是一個由 config.txt 檔案 條目使用的 種類軌道 內容型別。它並不對應於單個特定標籤,而是一種由多個不同標籤重複使用的格式。

此頁面描述了 TS2009 中引入的資料模型,當時樣條線物件被合併到種類軌道資料型別中,並且是 trainz-build 的預設設定。


支援的標籤

[編輯 | 編輯原始碼]

軌道部件容器 支援以下標籤。每個標籤都顯示了其預設值。在某些情況下,軌道部件容器 可能會繼承父容器上設定的值(除了 track-lod-tree 容器),而不是使用這些預設值;有關更多詳細資訊,請參閱各個內容型別描述。

mesh-length 0.0
adjust-height-to-ground-threshold -3.402823466e+38
adjust-height-to-ground-offset 0.0
adjust-cross-section-to-ground 1
track-lod-tree
{
}
coordinate-transformation "spline"
follows-spline-gradient 0
follows-ground-height-at-ends-of-mesh 0
dont-scale-mesh-to-fit-length 0

mesh-length

[編輯 | 編輯原始碼]

mesh-length 值是軌道距離(以米為單位),用於定義 track-lod-tree 所描述的基本軌道單元長度。track-lod-tree 可以提供一個此長度的網格,也可以將基本 mesh-length 細分為多個更小的網格片段。

adjust-height-to-ground-threshold

[編輯 | 編輯原始碼]

任何模型空間 Z 值小於此閾值值的頂點將根據該頂點下方的地面高度進行調整。

調整背後的數學原理大致如下

outputVertexPosition.z = modelVertexPosition.z + adjustHeightToGroundOffset + groundHeight

通常,這種高度調整用於構建橋樑或類似結構——模型的主體保持在實際的樣條線高度,但腿或支撐柱的底部頂點會下降到地面高度。

adjust-height-to-ground-offset

[編輯 | 編輯原始碼]

提供模型空間 Z 軸上的偏移量,該偏移量用於調整頂點到地面高度。如果設定為 adjust-height-to-ground-threshold 值的負值,這將有效地導致任何在該高度的頂點下降到地面水平。任何低於該高度的頂點都將低於地面水平。任何高於該高度的頂點都不會被修改。

透過改變偏移量,這允許頂點略微浮在實際地面高度之上。

adjust-cross-section-to-ground

[編輯 | 編輯原始碼]

如果此布林值被設定 (1),則軌道網格會在其 X 軸上扭曲,以跟隨其所在的平面。如果清除 (0),則網格將從中心點獲取地面高度。此設定對位於 adjust-height-to-ground-threshold 範圍內的頂點沒有影響。

track-lod-tree

[編輯 | 編輯原始碼]

track-lod-tree 容器 用於為執行時網格拼接選擇合適的網格。

coordinate-transformation

[編輯 | 編輯原始碼]

coordinate-transformation 設定決定了模型中的頂點如何對映到世界中。以下技術可用

  • "spline"(預設) - 此選項提供預設的、適合樣條線的行為。
  • "linear" - 此選項提供簡單的線性縮放。這不會嘗試剪下網格的末端以適合相鄰部分。
  • "shear" - 此選項提供簡單的線性縮放。這將“剪下”(線性拉伸)網格的末端以適合相鄰部分。
  • "horizontal" - 此選項提供類似於“linear”的效果,但高度在給定的元件網格中保持固定。如果缺少垂直失真比與下一個網格首尾相接更重要,這將很有用。
  • "horizontal shear" - 此選項提供類似於“shear”的效果,但高度在給定的元件網格中保持固定。如果缺少垂直失真比與下一個網格首尾相接更重要,這將很有用。

注意! 這取代了 Trainz 2.7 之前的版本中的 bendy 標籤。

follows-spline-gradient

[編輯 | 編輯原始碼]

如果此布林值被設定 (1),則網格會變形以平滑地跟隨樣條線的高度梯度。如果清除 (0),則網格會變形以跟隨樣條線中心線上的地面高度(“adjust-cross-section-to-ground 1”)或每個頂點下方的地面高度(“adjust-cross-section-to-ground 0”)。某些遊戲內狀態,例如在樣條線上設定高度梯度(Surveyor 中的黃色軌道頂點)或位於父橋樣條線上,可能會覆蓋此選項。

follows-ground-height-at-ends-of-mesh

[編輯 | 編輯原始碼]

如果此布林值被設定 (1),則樣條線高度會有效地變形,使得每個網格重複的端點跟隨地面高度。整個網格的樣條線高度以線性方式變化。如果清除 (0),則樣條線高度不會受到影響。某些其他選項,例如(“follows-spline-gradient 0”)或(“coordinate-transformation spline”)可能會導致此選項基本無意義。

dont-scale-mesh-to-fit-length

[編輯 | 編輯原始碼]

如果此布林值被清除 (0),則每個元件網格的長度都會縮放以適合樣條線中的可用區域。由於重複和細分的數量是整數,樣條線網格通常會稍微拉伸或壓縮,以確保網格重複首尾相接。如果設定 (1),則網格將以其自然長度呈現,即使這意味著網格會重疊或拉伸分開,並且不會相互接觸。這通常用於樣條線表示一組重複的杆或塔架,而不是連續的梁。

 

註釋和參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書