Trainz/種類/軌道種類
從 Trainz 1.3 到 TANE(在 聯鎖塔 中增加了連線和指令碼方面的複雜性),Trainz 資料模型 在其軌道和樣條線物件軟體處理方面 arguably 發生了最顯著的變化。這種演變從被稱為 塊狀軌道 到初始的 TANE 過程軌道種類,經歷了三個到四個不同的階段。在 Trainz UTC 和 TRS2004 塊狀軌道之間,橋樑和隧道被一組軌道種類所取代,這些種類是 KIND 系統的新正式定義,其中包含這些型別(此處顯示了連結到其 CCG 參考頁面):TRS/TC 時代的 CCG 的無偏表將被[found at this url]:[1]
- 種類: FixedTrack
- 種類: 軌道 - 包括帶有“彎曲”標記的樣條線物件
- 種類: 橋樑 - 單軌
- 種類: 橋樑 - 隧道 - 此種類用於建立道路和鐵路隧道。
- 種類: 橋樑 - 雙軌
- 種類: MOCrossing
- 樣條線物件
- 種類: 軌道 - 從農作物到道路的樣條線場景資產使用各種標籤來定義,以控制物件如何與世界互動。
這些方面有逐步改進,但 TS2009 向拼接軌道技術的轉變
KIND 軌道提供從 Trainz-build 版本 2.9 及更高版本(在軌道拼接處理成為預設渲染軟體之後)開始,用於所有基於樣條線的資產的唯一資產種類。與名稱相反,就像道路型別被定義為軌道資產一樣,現在此類資產包含簡單軌道、多軌道、橋樑、隧道、樹籬、道路、牆壁、路堤、本地電力線、高壓電力線、接觸網(以及其他軌道旁的 '附著軌道容器容器' 樣條線),等等。
此類資產使用以前稱為“拼接軌道”的渲染技術。現在所有其他樣條線渲染都已過時,所有過去年的樣條線類別現在簡稱為“軌道”,並使用 軌道種類 的變體,並設定了適當的標籤以實現數字模型。另一種軌道型別,過程軌道種類 現在已新增到 TANE 版本(v4.0 及更高版本)中,其中包含檢視動畫連線部件的新功能。此頁面並未直接討論 TANE 中的這種更新的技術。
|
- KIND TrainzBaseSpec,類別-類別 標籤集的定義
{S ... 樣條線 和 T ... 軌道 },也就是說,類別-類別樣條線型別的列表
SF Fences SR Roads SP Platforms SS Structure SV Vegetation TB Bridge TF Fixed Track TR Rails TT Tunnel
- 附著軌道 是嵌入在工業資產中的資產,它繼承了與末端頂點相連軌道的軌道特徵。
在定義 KIND TrainzBaseSpec 時,樣條物件 中的 KIND Track 在定義 config.txt 檔案 時,支援以下標籤。每個標籤都顯示了其預設值。
| mesh-table | ||
| { | ||
| } | ||
| 軌道容器 | (子容器) | |
| { | ||
| } | ||
| endcap-prev | ||
| { | ||
| } | ||
| endcap-next | ||
| { | ||
| } | ||
| 附著樣條 | ||
| { | ||
| } | ||
| season-selector | ||
| { | ||
| } | ||
| carrate | 0 | |
| isroad | 0 | |
| isfreeway | 0 | |
| is_silent | 0 | |
| numlanes | 0 | |
| istrack | 0 | |
| istunnel | 0 | |
| surveyor-only | 0 | |
| visible-on-minimap (surveyor-only 的反面) | ||
| track-sound | ||
| { | ||
| } | ||
| traffic-speed | 10.0 | |
| tunnel-roof-height | 0.0 |
mesh-table
[edit | edit source]"mesh-table"_Container "mesh-table"_Container 提供了有關構成此資產的軌道和端蓋網格的詳細資訊。目前,大多數高階 mesh-table 選項不可用。重要的是要指定網格。具體來說,'mesh' 標籤應用於指定 IM 檔案,'mesh-asset' 標籤可用於指定網格的替代源資產。
track
[edit | edit source]"track" 標籤是強制性的,它決定了如何從網格形成樣條几何圖形。它被指定為 軌道部件容器。
attached-splines
[edit | edit source]附著樣條容器[2] 提供了一種機制,用於附加子樣條,這些子樣條以略微偏移的方式跟隨此父樣條的形狀。附著樣條用於需要將具有一個渲染或功能行為集的樣條與具有不同渲染或功能行為集的樣條耦合的情況。例如,一座橋(風景)帶有附著的軌道(功能),或者是一組塔架(沒有拉伸或剪下)在它們之間連線了一些電線(剪下和拉伸以適應)。附著樣條可能是僅渲染樣條,這些樣條實際上除了它們的渲染行為之外不存在,也可能是完全功能性的樣條,其唯一的特殊之處在於它們隨其父級一起移動和刪除。
endcap-prev & endcap-next
[edit | edit source]"endcap-prev" 和 "endcap-next" 標籤以相同的方式指定,但不是強制性的。如果存在,這些端蓋將插入樣條兩端的每個方向的末端,除非樣條流向另一個相同型別的樣條。這允許內容建立者“密封”樣條几何圖形,而無需在每個細分處引入效率低下的密封多邊形。端蓋遵循正常的貼合樣條行為,只是它們在樣條末端的瞬時方向上繼續直線延伸。端蓋從資產的 "track" 標籤繼承它們的預設設定,但任何單個值都可以根據需要被覆蓋。
Season-selector
[edit | edit source]"Season-selector"_container "Season-selector" container 允許選擇一個季節索引,該索引可能會被 "track-lod-tree"_container "track-lod-tree" container 使用。
isroad
[edit | edit source]- 型別:布林值 (1 或 0)
如果設定 (1),則此型別的樣條被認為是道路。道路支援生成 Carz。道路被 KIND MOCrossing 標記為阻塞,而過路道口門關閉。道路樣條通常可以連線,即使它們是不同的資產。
如果沒有其他說明,設定了 'isroad' 標籤的資產是 "Road Spline Group" 的成員 (<kuid:30501:100045>) (參見:KIND_Asset-group 中的已知資產組).
carrate
[edit | edit source](僅適用於設定了 'isroad' 的樣條)
遊戲在這個道路上生成 Carz 之間等待 1x 到 3x 的這個十進位制值,所以數字越低,道路將生成的交通流量就越多。
isfreeway
[edit | edit source](僅適用於設定了 'isroad' 的樣條)
如果設定 (1),這個布林標籤會導致多車道道路充當高速公路。這允許 Carz 隨意換道,並導致所有交通僅沿樣條的前進方向流動。在非高速公路上仍然允許超車。
is_silent
[edit | edit source](僅適用於設定了 'istrack' 的樣條)
如果設定 (1),這個布林標籤將停用在樣條上車輛的每個軸聲音的播放。
numlanes
[edit | edit source](僅適用於設定了 'isroad' 的樣條)
定義道路上 Carz 車道的數量。每條車道被認為是 1.7 米寬。如果道路是高速公路,所有交通都沿相同的方向流動。待定:對於非高速公路,這意味著什麼?
istrack
[edit | edit source]如果設定 (1),這個布林標籤會導致樣條被視為 "軌道",這意味著火車可以預期在樣條上執行。
這會影響樣條在小地圖上的可見性,樣條資產會在測量員拾取器中顯示出來,測量員工具可以對資產進行操作,以及是否啟用自動交叉口放置。
軌道樣條通常可以連線,即使它們是不同的資產。
如果沒有其他說明,設定了 'istrack' 標籤的資產是 "Track Spline Group" 的成員 <kuid:30501:100043>.
istunnel
[edit | edit source]如果設定 (1),這個布林標籤會導致樣條被視為 "像隧道一樣"。儘管有這個名稱,但這與真正的隧道樣條功能沒有直接關係(有關詳細資訊,請參閱 'tunnel-roof-height' 標籤)。
在隧道中,某些型別的脫軌被停用,因為由此產生的使用者體驗會很差,因為火車車輛和玩家的攝像機會穿透隧道和地形。
當車輛的原點位於隧道樣條上時,指令碼函式 Vehicle.IsInTunnel() 返回 'true'。
如果使用者處於 '外部' 或 '自動跟蹤' 攝像機模式,而攝像機目標在隧道中,則攝像機將改為切換到 "隧道外部" 模式。
當攝像機目標在隧道中時,環境聲音的音量將降低至 50%。
當車輛在隧道中時,某些型別的車輛粒子發射器將被停用。
surveyor-only
[edit | edit source]如果設定 (1),這個布林值會導致資產在駕駛員中不可見且不可用。這通常用於提供編輯輔助的樣條,例如模板、標記或標尺。
visible-on-minimap
[edit | edit source]如果清除 (0),則隱藏小地圖上的此樣條。具有非僅渲染子級的樣條永遠不會顯示在小地圖上。請注意,此標籤沒有固定的預設值,而是預設為 'surveyor-only' 標籤的反面。
(僅適用於設定了 '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 TS2009 示例軌道的 MAX 原始碼。僅出於教育目的從 TrainzDev 網站分發。不授予對包含的模型或紋理進行復制或再分發的許可。
- Media:TS2012-tunnel.rar - 資產的 MAX 原始碼:Tunnel Double Track <KUID:523:19721248>。僅出於教育目的從 TrainzDev 網站分發。不授予對包含的模型或紋理進行復制或再分發的許可。
- Media:TS2012-bridge.rar - 資產的 MAX 原始碼:Bridge Plate Girder <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 程式碼 標準的更新資訊,這些標準隨著軟體功能的增加而不斷變化。

