跳至內容

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

[編輯 | 編輯原始碼]

The 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”)。某些遊戲內狀態,例如已將高度梯度設定為樣條線(測量員中的黃色軌道頂點)或位於父橋樣條線上,可能會覆蓋此選項。

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

[編輯 | 編輯原始碼]

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

dont-scale-mesh-to-fit-length

[編輯 | 編輯原始碼]

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

 

註釋和參考

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