本程序能干什么?
制作OpenBVE线路时,我们常常遇到不止一条轨道的路段。这时除主轨道外,我们还需要布置其他轨道。由于OpenBVE的机制所限,仅主轨道支持Track.Curve、Track.Pitch等几何变换指令。若想调整其他轨道的位置,就只能依靠Track.Rail指令后的X和Y两个坐标参数来实现。
Track.Rail RailIndex; X; Y; RailType
(官方文档)
考虑到轨道通常按25米分段,全线就需要大量的.Rail指令来调整其他轨道的位置,手动输入这些.Rail指令无疑是极其繁琐的。
本程序可以自动生成其他轨道的.Rail指令,轻松生成平顺的轨道,省去编写大量.Rail指令的麻烦。
演示视频:BV17b411F7uT
版权说明
本程序作者及本教程作者为 @asnacinjar。
本网站(zbx1425.cn)经授权转载于此。本工具及本页图文内容均不适用 CC-BY-SA。
快速使用说明
打开程序,界面如下:
更详细的使用说明
如果您看了上面的说明仍一头雾水,可以参考以下更详细的使用说明。我们将以郑州市的一段真实铁路为例,为您讲解如何使用本工具生成轨道数据。
假设红色的线是您的主轨道,黄色的线时您希望铺设的其他轨道(下称“目标轨道”),并假设您已经通过.Curve指令设置好了主轨道的曲线形状。您首先要将目标轨道划分成若干段,便于接下来的数据生成工作。考虑到本程序采用三次函数规律生成数据,您最好将目标轨道划分成几段近似于三次曲线的形状。
我们这里把轨道分成3段,测出每段轨道起讫点的主轨道位置。(注意:由于OpenBVE机制限制,您的每段轨道起讫点的主轨道位置均应为区块长度25的整数倍。)填写目标轨道的编号(RailIndex),此处不妨设为1。
我们发现,I、II两段中目标轨道相对主轨道的距离变化近似三次曲线,而III段的目标轨道与主轨道的相对距离基本固定不变。因而,我们可以用轨道数据生成器生成I、II两段的目标轨道数据,而III段可不必生成。
以I段为例,使用谷歌地球测得I段起讫点处主轨道和目标轨道所夹锐角的大小。
计算所求的夹角的正切值,即为导数。我们注意到,I段起始点处两条轨道几乎平行,夹角视作0,那么起点的导数就是0。(注:本程序提供了导数和角度的转换功能,输入夹角值即可方便地算出对应的导数。)请注意,这里的夹角有正负之分。若目标轨道相对主轨道向左(逆时针)倾斜,则为负值;向右(顺时针)倾斜则为正值。这里终点处的夹角为-10°,对应导数为-0.176。
然后,用谷歌地球测量起讫点处主轨道和目标轨道的水平距离。注意:测量时标尺应与主轨道垂直,而不是与目标轨道垂直。
请注意,这里的距离同样有正负之分。若目标轨道在主轨道左侧,则距离为负;在右侧则距离为正。这里起点处水平距离是-26m,终点处水平距离是-99m。
将测得的各项数据填入对应的文本框,按“生成”按钮,即得I段内目标轨道的所有.Rail指令。将输出栏内的代码粘贴到您的路线CSV档的适当位置即可。
以相似的方法,您可以选择导出目标轨道相对主轨道的垂直距离,并可以继续生成II段及更多路段,或其他目标轨道的位置数据。(提示:此处I段和II段轨道相接,因而II段初位置的导数和水平距离、垂直距离均与I段末位置相等,可直接拿来使用。)
最后,您可以在RouteViewer中检查您生成的轨道是否平顺,形状是否与预期相符。若轨道的形状与预期差异过大,您可微调输入的导数和距离数值,或者重新为轨道分段并温习一下三次曲线是什么形状。
提示