4. 丰富您的线路
在上一章节中,我们创建了一条可以运行的基础线路。本章将在此基础上,学习使用更多指令来丰富线路细节,提升其视觉效果和可玩性。
我们将对线路进行以下改进:
- 更新车站信息:修改站名、时刻表和停车参数。
- 添加天空背景:为场景添加天空贴图。
- 铺设地面:为轨道添加地面,解决悬空问题。
- 建设站台:为车站添加站台模型。
- 规范文件结构:重命名并整理线路文件。
跟随实践
为了达到最佳学习效果,请在阅读本教程的同时,打开您的线路文件,跟随步骤同步进行修改。
1. 更新车站信息
我们为这条虚构的线路设定更具体的信息:昌北轨道交通开发区轻轨线。
- 第一站: 海岸大道 (Haian Avenue)
- 轨道位置: 1000m
- 到站/发车: 8:00:00 / 8:01:00
- 最小停车时间: 30s
- 开门方向: 右侧
- 第二站: 海滨汽车站 (Haibin Bus Station)
- 轨道位置: 1800m
- 到站/发车: 8:02:50 / 8:03:30
- 最小停车时间: 20s
- 开门方向: 右侧
- 停车精度: 允许前后误差 2 米。
为何从 1000 米开始?
将线路起点设置在 1000 米(或其他非零位置)是一个好习惯。这为将来向后延伸线路(例如,添加入库线)预留了空间。
根据以上信息,更新 With Track 部分的代码:
With Track
1000
.Sta 海岸大道;8.00;8.01;;R;;;;30
1080
.Stop -1;2;2
1800
.Sta 海滨汽车站;8.02.50;8.03.30;;R;;;;20
1880
.Stop -1;2;2
- 站距: 1800m - 1000m = 800m。
- 停车点:
.Stop指令的位置 (1080,1880) 是基于车站位置和列车长度(80m)计算的。参数-1将停车标志牌置于轨道左侧。 - 时间格式: 注意 openBVE 中,小时和分钟使用小数点分隔 (
8.00),而分钟和秒之间没有分隔符 (8.02.50)。
修改完成后,启动游戏并按 Ctrl+T 查看时刻表,您会看到新的站名和时间已经生效。

2. 添加天空背景
空旷的黑色背景显得过于单调。我们可以通过 Texture.Background 指令为其添加天空贴图。
首先,在 With Texture 块中加载背景图片:
With Texture
.Background(0).Load zbx1425/tutorial/background/plain1.png
这段代码将 plain1.png 图片加载为 0 号背景。由于线路默认从头开始使用 0 号背景,我们无需在 Track 部分额外指定。
关于路径
所有资源文件(图片、模型等)都应放置在 LegacyContent/Railway/Object/ 目录下。加载时,必须使用相对于 Object 目录的相对路径,并使用正斜杠 / 作为路径分隔符。
完成后,您将看到场景不再是漆黑一片。

3. 铺设地面
为了让轨道不再悬空,我们需要为其添加地面。这与添加背景的逻辑类似,使用 Structure.Ground 加载模型,然后通过 Track.Height 调整其垂直位置。
-
在
With Structure块中加载地面模型:With Structure .Rail(0).Load zbx1425/tutorial/rail/gndblst0.csv .Ground(0).Load zbx1425/tutorial/ground/mcgrass.csv -
在
With Track块的起始位置(0 米处)设置地面高度:With Track 0 .Height 0.3 1000 .Sta ...
Z-Fighting (深度冲突)
如果不使用 .Height 调整,地面将默认生成在 0 米高度,与轨道表面重合,导致渲染时出现闪烁(即 Z-Fighting)。将地面高度设置为 -0.3 米(示例轨道模型的高度)可以解决此问题。

正确设置后,轨道将稳固地铺设在地面上。

4. 建设站台
站台本质上也是一个模型,我们使用 FreeObj (Free Object) 指令来放置它。
-
在
With Structure中加载站台模型:With Structure ; ... 其他模型 .FreeObj(0).Load zbx1425/tutorial/platform/ground84.csv -
在
With Track的相应位置放置站台:With Track ; ... 1040 .FreeObj 0 ; ... 1840 .FreeObj 0
.FreeObj 指令可以将任意加载过的模型放置在轨道旁的指定位置。其参数可以控制模型的水平/垂直偏移和旋转角度。
模型坐标原点
.FreeObj 默认将模型的坐标系原点放置在轨道中心。教程资源中提供的站台模型已经过预处理,其坐标原点被设置在了便于对齐的位置,因此我们无需额外调整偏移量。

现在,您的车站应该已经拥有了站台。

5. 规范文件结构
为了便于管理,建议将同一线路的所有文件(包括线路文件、模型、贴图等)都存放在一个专属的文件夹内。
例如,在 LegacyContent/Railway/Route/ 中创建一个名为 CRT Light Rail Line 的文件夹,并将线路文件移入其中,重命名为能反映其内容的名称,如 SeasideAvenue-HaibinBusStation.csv。

● 思考
- 如何将天空背景更换为黄昏主题的贴图?
- 在我们的示例中,轨道、背景和地面都使用了默认的 0 号。如果想显式地指定它们,应该如何编写代码?
- 如果想将站台从轨道右侧移动到左侧,需要如何修改?
- 如果一趟夜班车在某站的停车时间是从 23:59:45 到第二天的 00:02:15,对应的
.Sta指令应该如何书写?
当您思考完这些问题后,就可以进入下一章节,学习更高级的线路编辑技巧了。