openBVE 架設
· 閱讀時間約 5 分鐘
前言
昨天在搭六家線回新竹的時候,覺得不懂為什麼火車開這麼慢,於是就自己來架設了!要知道蓋火車不容易,然後說真的在電腦也沒這麼容易
csv 系統
架設的系統居然是 .csv 有點好笑,但是難度很高
語法筆記
Version 1.0
With Structure
.Rail(1) ../object/HC/Tracks/Rail_01.x
.Rail(2) ../object/HC/Tracks/Rail_02.x
.FreeObj(1) ../object/HC/Tracks/Rail_01.x
.FreeObj(2) ../object/HC/Tracks/Rail_02.x
.FreeObj(3) ../object/HC/Tracks/Rail_03.x
.FreeObj(10) ../object/HC/Station/Platform/PF_L_01.x
.FreeObj(11) ../object/HC/Station/HomeDoor/FormDoorL(openBVE).animated
.FreeObj(12) ../object/HC/Station/Platform/PF_R_01.x
.FreeObj(13) ../object/HC/Station/HomeDoor/FormDoorR(openBVE).animated
with Structure
各位我剛剛打上面的標題時,快笑瘋,我還是不會拼 Structure。
首先第一句
.Rail(1) ../object/HC/Tracks/Rail_01.x
.Rail(1) 的意思是宣告這個 Rail 物件的第一條軌道為: Rail_01.x 的檔案
.FreeObj(10) ../object/HC/Station/Platform/PF_L_01.x
.FreeObj(11) ../object/HC/Station/HomeDoor/FormDoorL(openBVE).animated
.FreeObj(12) ../object/HC/Station/Platform/PF_R_01.x
.FreeObj(13) ../object/HC/Station/HomeDoor/FormDoorR(openBVE).animated
接著是 其他物件 (非軌道) 就會使用 FreeObj
- PF_L_01.x : 月台地板
- FormDoorL : 左邊月台門
- FormDoorR : 右邊月台門
因為這邊作者做的素材有設定動畫,所以就要加一些參數在後面
我知道台鐵沒錢 沒空加月台門但是這..還是很重要啦
with track
With Track
0, .RailType 1
0, .Rail 1; 3.7; 0; 0
0, .Station 新莊; 20.0030; 20.0100; 0; -1
80, .Stop 0
0, .FreeObj 0;1;0;0, .FreeObj 1;2;0;0, .FreeObj 0;10;-0.25;0, .FreeObj 0;11;-0.25;0
5, .FreeObj 0;1;0;0, .FreeObj 1;2;0;0, .FreeObj 0;10;-0.25;0, .FreeObj 0;11;-0.25;0
10, .FreeObj 0;1;0;0, .FreeObj 1;2;0;0, .FreeObj 0;10;-0.25;0, .FreeObj 0;11;-0.25;0
15, .FreeObj 0;1;0;0, .FreeObj 1;2;0;0, .FreeObj 0;10;-0.25;0, .FreeObj 0;11;-0.25;0
補充:
;是分隔的一種,也可以當作註解
宣告軌道類型
0, .RailType 1 ; 這裡宣告軌道類型(對應你設定的 Rail_01.x)
這裡有點複雜:
- 0 是代表我們駕駛的火車跑的軌道
- .RailType 1 是對應我們上面的 .Rail(1)
宣告隔壁軌道
0, .Rail 1; 3.7; 0; 0
有時候對面可能會有回車的軌道,因此這邊建立 (宣告) 一個新的軌道:
0代表:O公尺開始- .Rail 1:宣告隔壁 1 號軌道
3.7:與主軌道的 水平偏移0:與主軌道的 垂直偏移0: 使用.Rail(1)的軌道樣式
設立站點
0, .Station 新莊; 20.0030; 20.0100; 0; -1
80, .Stop 0
這一段是建立新站:新莊
- 0 : 在 0公尺處建立此車站
- .Station 新莊 :建立新莊這一站點
- 20.0030 : 這裡代表列車預計在 20 點 00 分 30 秒 到達新莊站。
- 20.0100 : 這裡代表列車預計在 20 點 01 分 00 秒 從新莊站發車,也就是要在這站停靠 30 秒)。
- 0:通過或停靠設定。
0 代表**「普通車(停靠)」**。 如果是 1 則代表「快速/急行(通過)」。
- -1:開門方向控制(關鍵!)
-1 代表**「開啟左側車門」**(火車前進方向的左邊)。 如果是 1 代表開啟右側車門。 如果是 0 則代表兩邊都不開。
- 80, .Stop 0 (定義停車位置)
這一行是在告訴遊戲:「司機員必須把火車的車頭停在 80 公尺(80m) 的位置。」-
80,:這個停止點設在路線的 80m 處。
-
.Stop:宣告一個「停車位置(Stop Board)」。
-
0:適用列車編組長度。
-
在 OpenBVE 中,0 代表 所有編組長度的列車都必須停在這裡。
-
如果路線有分「4輛編成停這裡、8輛編成停後面」,就可以透過這個數字來區分(例如 80, .Stop 8 代表 8 輛編組的車停在 80m)。這裡設 0 就是不管你開幾節車廂的列車,通通都要對齊 80m。
-
台鐵就很常讓我不知道在哪裡上下車哈哈哈哈哈哈
設立 FreeObj
0, .FreeObj 0;1;0;0,
這裡就是建立 物件擺放了,挺麻煩的是:得用程式完成 首先最前面的 0 意思是在 0 公尺處要放什麼,也就是說 我上面的設計是 每五公尺 設計物件
- 第一個數字 0(軌道通道編號)
- 代表:這個物件要對齊(綁定)哪一條軌道。
- 意思: 0 代表玩家開車的 0 號主線。如果這裡寫 1,就是對齊你另外鋪設的 1 號軌道(例如對向軌道)。
- 第二個數字 1(物件索引編號 / ID)
- 代表:你要放哪一個 3D 模型物件。
- 意思: 電腦會去最上方的 With Structure 區塊尋找 .FreeObj(1) 後面對應的檔案路徑。在你的檔案中,編號 1 對應的就是 Rail_01.x(主線軌道模型)。
- 第三個數字 0(X 軸水平偏移量,單位:公尺)
- 代表:物件距離軌道中心線左右偏移多少。
- 意思: 0 代表完全不偏移,模型剛好放在軌道正中間。
- 如果設為正數(如 1.5),物件會往右偏移 1.5 公尺。
- 如果設為負數(如 -1.25),物件會往左偏移 1.25 公尺(例如你的月台位置)。
- 第四個數字 0(Y 軸垂直偏移量,單位:公尺)
- 代表:物件距離軌道面的高度偏移多少。
- 意思: 0 代表高度不偏移,物件底部剛好貼齊軌道面。
- 如果設為正數(如 0.5),物件會向上飄浮 0.5 公尺。
- 如果設為負數(如 -1.45),物件會向下沉入地底 1.45 公尺(通常用來調整月台的高度,避免月台太高撞到車門)。
今天先這樣,明天繼續