Trainz/容器/煙霧容器
外觀
從水龍頭噴出的水流到軌道邊牧場小屋煙囪冒出的濃濃松煙,火車場和火車經過的風景中到處瀰漫著煙霧和蒸汽;半透明的薄霧狀物體造就了許多幾乎是魔術般的效果。誰想要煙霧和鏡子來增強可信度?這種容器出現在各種資產中。不止一個獲得了以 NN 作為字尾的編號,形成 smoke0、smoke1、smoke2、...、smokeNN,資產需要多少就多少。煙霧也是互動式的,並與軟體有不同的介面,煙霧容器是這種連線的一部分。
煙霧容器實際上是一個 PFX(粒子效果)發射器,它定義了由資產產生的煙霧和類似效果。煙霧標籤的形式是 smokeX,其中 X 是一個數字。煙霧標籤沒有最大數量限制,但必須按順序編號(即 smoke0、smoke1、smoke2 等)。煙霧塊有兩個部分:主要屬性和序列屬性。主要屬性描述了在發射器持續時間內保持不變的屬性。序列屬性描述了煙霧發射序列中的一組或多組階段/週期。
每個煙霧容器都支援以下標籤。每個標籤都在這裡顯示其預設值。
texture KUID<-1:6329> file "" attachment "" mode "time" accel 0,0,0 conesize 0.2,0.2,1 direction 0,0,1 enable-steam-physics 0 enabled 1 faces "camera" inherit-Velocity 0 loop -1 loopdelay 0 loop-amount 0 minrate 0 maxrate 20 maxspeedkph 0 start 0 period -1 color 255,255,255,255 endcolor 255,255,255,255 rate 4 velocity 1 lifetime 3 minsize 0 maxsize 3 mass 1 mass-scale .5 drag .36 spring .17 dampening .02 physics-delay 0
- 型別:十進位制列表
- 預設值:0,0,0
- 必填項:否
- 描述:設定煙霧粒子的加速度條件。第一個值是重力,第二個值是(可選的)風力效果。預設值為 0,0。存在第三種(已棄用)形式,包含三個引數——它使用前兩個值來計算風力效果,第三個值作為重力。
- 型別:字串
- 預設值:""
- 必填項:是(3.4)
- 描述:生成 PFX 的附加點的名稱。附加點在建立過程中在網格檔案中指定。
- 型別:十進位制列表
- 預設值:0.2,0.2,1
- 必填項:否
- 描述:指定粒子發射的錐體。當建立粒子時,它將被賦予一個初始速度向量,其方向是該錐體中的隨機向量,其速度取自“速度”標籤。錐體標籤是一個包含 1、2 或 3 個值(以米為單位)的十進位制列表。前兩個值指定錐體的寬度和深度(x 和 y),第三個值指定其高度。如果沒有提供高度,將使用值 1,如果只提供一個值,它將用於寬度和高度。如果完全沒有提供該標籤,預設值為 (0.2,0.2,1.0)。
- 型別:3D 向量 (x,y,z)
- 預設值:0,0,1
- 必填項:否
- 描述:設定粒子發射器面向的方向。如果沒有提供,方向將預設為 (0,0,1)(直上)。
- 型別:布林值
- 預設值:0(false)
- 必填項:否
- 描述:啟用一些更高階的煙霧/蒸汽相關的粒子物理(阻力、彈簧和阻尼)。
- 型別:布林值
- 預設值:1(true)
- 必填項:否
- 描述:設定粒子發射器是否啟用。
- 型別:字串
- 預設值:“camera”
- 必填項:否
- 描述:設定粒子面向的方向。可以是以下值之一
- camera - 粒子被繪製,使其始終面向攝像頭(預設)
- motion - 粒子被繪製,使其面向它們移動的方向。
- down - 粒子被繪製,使其面向下方。
- 型別:字串(效果檔名)
- 預設值:""
- 必填項:否
- 描述:指定粒子發射器設定應從 Twinkles PFX 工具生成的檔案中讀取。
- 型別:布林值
- 預設值: 0
- 必填項:否
- 描述: 使粒子繼承發射器的速度,預設關閉。
- 型別: 十進位制
- 預設值: -1
- 必填項:否
- 描述: 設定煙霧序列迴圈的時間(以秒為單位)。僅對 'time' 和 'anim2' 模式有效。可以設定為 -1 表示在序列結束後迴圈,這是預設行為。
- 型別: 十進位制
- 預設值: 0
- 必填項:否
- 描述: 指定序列再次迴圈的延遲時間(以秒為單位)。
- 型別: 整數
- 預設值: 0
- 必填項:否
- 描述: 設定序列迴圈的次數。
- 型別: 整數
- 預設值: 20
- 必填項:否
- 描述: 設定整個序列的粒子最大發射速率。
- 型別: 十進位制
- 預設值: 0
- 必填項:否
- 描述: 對於錐形發射器,這將設定粒子的最大速度(公里/小時)。
- 型別: 整數
- 預設值: 0
- 必填項:否
- 描述: 設定整個序列的粒子最小發射速率。預設值為 0。
- 型別:字串
- 預設值: "time"
- 必填項:是(3.4)
- 描述: PFX 發射器模式。煙霧效果可以包含多個迴圈的“階段”,模式定義瞭如何解釋“開始”和“週期”標籤以控制每個煙霧階段之間的進度。模式必須是以下值之一(如果未指定,則預設為 "time")。
| 模式值 | 描述 |
|---|---|
| time | 'start' 是一個時間值列表(以秒為單位),表示在建立父物件後下一個效果階段開始的時間,'period' 是該階段保持活躍的時間長度。 |
| timeofday | 'start' 是開始下一個階段的時刻。時刻用 0 到 1 之間的十進位制數表示,其中 0 表示上午 0:00.00,1 表示下午 12:59.59。 |
| anim | 'start' 指定了資產動畫迴圈中開始下一個階段的時間。'period' 是該階段保持活躍的時間。動畫迴圈中的時間用 0 到 1 之間的十進位制數表示。'start' + 'period' 必須不超過 1。 |
| anim2 | 與 'anim' 相同,但有一些額外的標籤(interpolate、loop、loopdelay)。 |
| speed | 'start' 是開始下一個階段的速度(米/秒)。'period' 未使用。 |
| custom | 未知 |
| cyldrainl | 由 Draincock 命令開啟和關閉。 "l" 和 "r" 的意義未知。 |
| cyldrainr | 由 Draincock 命令開啟和關閉。 "l" 和 "r" 的意義未知。 |
| stack | 與司機同步,適用於蒸汽機車的煙囪。 |
| whistle | 在汽笛開啟和關閉時開啟和關閉。 |
| generator | 未知 |
| lowpressurevalve | 當鍋爐壓力超過低壓安全閥的設定值(在 enginespec 中定義)時開啟。(?) |
| highpressurevalve | 當鍋爐壓力超過高壓安全閥的設定值(在 enginespec 中定義)時開啟。(?) |
| blow0 | 未知(排汙?) |
| blow1 | 未知(排汙?) |
| fire-temperature | 未知 |
| boiler-temperature | 未知 |
- 僅 'time' 和 'timeofday' 模式適用於場景物件,其他模式適用於機車等資產。
- 型別: KUID
- 預設值: <kuid:-1:6329>
- 必填項:否
- 描述: 設定要用於粒子的紋理的 KUID,預設為 KUID<-1:6329>(蒸汽)。
每個階段的標籤被指定為值列表。如果添加了一個列表,則應該為每個階段指定一個值。
- 型別: 顏色列表(RGBA,0 到 255)
- 預設值: 1,1,1,1
- 必填項:是(3.4)
- 描述: 指定每個階段的 PFX 紋理的初始顏色。顏色將預設為白色 (255,255,255,255)。從版本 2.9 開始,如果未包含顏色標籤,將會生成驗證警告。
- 型別:十進位制列表
- 預設值: 0.02
- 必填項:否
- 描述: 在此階段建立的粒子的彈簧阻尼係數。彈簧阻尼係數影響單個粒子之間連線的“穩定性”(參見 'spring')。需要 'enable-steam-physics' 標籤。預設值為 0.02。
- 型別:十進位制列表
- 預設值: 0.36
- 必填項:否
- 描述: 在此階段建立的粒子的阻力系數。這指定了粒子在空氣中自由移動的能力的阻力。如果未指定,阻力系數將預設為 0.36,增加該值將導致粒子受到風的影響更大。需要 'enable-steam-physics' 標籤。
- 型別: 顏色列表(RGBA,0 到 255)
- 預設值: 255,255,255,255
- 必填項:否
- 描述: 指定每個階段的 PFX 紋理的結束顏色。顏色將預設為白色 (255,255,255,255)。
- 型別: 浮點數列表
- 預設值: 3
- 必填項:是(3.4)
- 描述: 指定粒子在此階段存在的時長(以秒為單位)(預設為 2)。
- 型別:十進位制列表
- 預設值: 1
- 必填項:否
- 描述: 在此階段建立的粒子的初始質量(以千克為單位)。
- 型別:十進位制列表
- 預設值: 0.5
- 必填項:否
- 描述: 粒子在此階段生命週期內損失的質量百分比。這允許粒子在消散到空氣中時變輕。該值以百分比表示,其中 1 表示 100%,將預設為 0.5(50%)。
- 型別:十進位制列表
- 預設值: 3
- 必填項:是(3.4)
- 描述: 指定在此階段建立的粒子的結束尺寸(縮放值,其中 1 表示 100%)。
- 型別:十進位制列表
- 預設值: 0
- 必填項:是(3.4)
- 描述: 指定在此階段建立的粒子的起始尺寸(縮放值,其中 1 表示 100%,預設值為 0)。
- 型別:十進位制列表
- 預設值: -1
- 必填項:否
- 描述:指定此階段的持續時間,'period' 的行為取決於 'mode' 並且並非始終使用(有關詳細資訊,請參閱 mode)。Period 可以設定為 -1 以表示此階段一直處於活動狀態,直到下一個階段開始,這是預設行為。(注意:僅 mode "time" 有效?)
- 型別:十進位制列表
- 預設值: 0
- 必填項:否
- 描述:粒子受到世界物理影響之前的延遲,以秒為單位。
- 型別:整數列表
- 預設值:4
- 必填項:是(3.4)
- 描述:指定每個階段的粒子發射速率。對於大多數模式,它設定為每秒發射的粒子數量,但對於 'anim' 和 'anim2',它是指在動畫週期內發射的粒子數量。預設速率為 4。另請參閱 'minrate' 和 'maxrate'。
- 型別:十進位制列表
- 預設值:0.17
- 必填項:否
- 描述:在此階段建立的粒子的彈簧常數。彈簧常數指定各個粒子之間連線的強度。預設情況下,如果未指定,彈簧常數為 0.17,增加該值將導致粒子之間更緊密地連結。需要 'enable-steam-physics' 標籤。
- 型別:十進位制列表
- 預設值: 0
- 必填項:否
- 描述:指定何時開始此階段,'start' 的行為取決於 'mode'(有關詳細資訊,請參閱 mode)。Start 預設值為 0。
- 型別:十進位制列表
- 預設值: 1
- 必填項:是(3.4)
- 描述:指定此階段發射粒子的初始速度。速度以米每秒為單位,預設值為 1 米/秒。
產生煙霧的場景資產的示例 config.txt 檔案
region Britain
kind scenery
type Industrial
light 1
smoke0
{
attachment a.smoke
mode timeofday
color 150,150,150,250
accel 1,0.3,0
start 0.25, 0.5
period 0.25, 0.125
rate 8
velocity 3
lifetime 5
minsize 0.5
maxsize 2
}
帶有四個煙霧發射器的簡單蒸汽機的 config.txt 檔案
- 來自主煙囪的深色煙霧,取決於火車的速度(a.smoke,Y 軸向上)。
- 來自頂部小型安全管的持續蒸汽軌跡(a.steam.safety,Y 軸向上)。
- 火車兩側的 2 個蒸汽軌跡,交替噴出與火車車輪動畫同步的蒸汽(a.steam.l,a.steam.r,Y 軸向外)。
kind traincar
bogey 0
engine 1
name Steam Train
mass 100000
enginespec <KUID:0:0>
enginesound <KUID:0:0>
hornsound <KUID:0:0>
interior <KUID:0:0>
smoke0
{
attachment a.steam.l
mode anim
color 255,255,255,150
start 0
period 0.4
rate 2
velocity 1
lifetime 2
minsize 0.05
maxsize 1
}
smoke1
{
attachment a.steam.r
mode anim
color 255,255,255,150
start 0.5
period 0.4
rate 2
velocity 1
lifetime 2
minsize 0.05
maxsize 1
}
smoke2
{
attachment a.steam.safety
mode time
color 255,255,255,150
rate 2
velocity 1
lifetime 2
minsize 0.05
maxsize 1
}
smoke3
{
attachment a.smoke0
mode speed
color 100,100,100,200
start 0,10,20,30
rate 3,5,7,9
velocity 3,4,5,5
lifetime 4,3,2.5,2
minsize 0.3
maxsize 2
}
| 本參考頁面改編自 TrainzOnline Wiki,遵循 CC-BY-SA 3.0 許可證。此頁面可能會包含比 同一主題的源頁面 更多的文字解釋、說明、歷史和/或示例。 TrainzOnline Wiki 主要由程式設計師或知識淵博的 內容創作者 維護,可能包含有關當前 trainz-build 程式碼 標準的更新和更準確的資訊,這些標準隨著軟體功能的新增而有所變化。 |

