跳轉到內容

Trainz/containers/軌道部件容器

來自華夏公益教科書,開放世界開放書籍
logo
Trainz 註釋參考文獻
TOC | BeginningsFun | AM&C | Creation | InBook Refs ORP Refs:  • Index • Containers • Kinds • Tags | Appendixes  • Vers

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

此頁面描述了 TS2009 中引入的資料模型,當時樣條線物件被合併到 Kind Track 資料型別中,並且是 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”)。某些遊戲內狀態,例如已將坡度設定到樣條線上(測量員中的黃色軌道頂點)或位於父橋樣條線上,可能會覆蓋此選項。

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

[編輯 | 編輯原始碼]

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

dont-scale-mesh-to-fit-length

[編輯 | 編輯原始碼]

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

 

註釋和參考文獻

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