好久之前玩MSTS,后来Steam入了Railworks3,再之后默认升级到Train Simulator了。去年打算做一条线路,然后就各种搜索。主要资料来源:Railworks Wiki地形信息:UKTrainSim导入地形之后就可以开始铺设线路了。
地形可以根据需要进行修改,毕竟是老的地形数据,我国近几年发展的快,许多地方可能有新规划,与导入地形不符。不过毕竟是游戏嘛,搞那么真也没必要。RW有Google Map Overlay,也就是能在铺设的时候把卫星地图映射到地面上,然后按着地面来铺。部分新的客专建成之后,是有公开的书籍的,都是xx高铁建设纪实、工程总结这样的标题。里边会有线路的坡度、曲线半径等信息。如果没有这样的资料(我想做的线路就是这样的),那肯定有公开的xx线路平纵切面示意图,里边会有高度标示。
找关键点做线性回归,得到一个估算的高度值,铺设的时候按照目标高度、坡度铺设就行。曲线半径的话目前大多使用的也就那么十来档,结合卫星地图基本上就能确定。线路铺好了之后,就是布景,默认游戏会自带素材,当然都是欧美风格的建筑,如果要用国内风格的话只能靠各种论坛的插件,或者自己做插件。做插件可用3dsMax,建模贴图也是个很费时间费精力的事情。另外就是线路的信号机设置,毕竟信号系统也是个复杂的系统,而且是游戏必备。国内论坛有trainsimchina, railworkschina之类的可以去看。
我在网上或者公开发布的书籍当中找到了一些线路的精准数据,精度在1mm以内。也因此继续学写代码并继续铺轨。铺完了发现与卫星图还是对不上,方向大致是对的,不过末尾还是与卫星图差了800米。分析了一下原因,一个是游戏计算方式对我来说是黑盒,我只能猜,可能没猜对;第二是地球是圆的,游戏是平的,曲率不一样,也就导致投影有偏差,这个没法改,只能通过加减长度来拟合;第三就是有可能我看到的数据是线路实际长度,比如描述的100米是轨道实际长度,而游戏内是按照投影100米来算的,如果有1米的高度差,那么游戏铺轨100米的实际长度为100.005米。
微软模拟火车论坛上有很多火车迷自制的地图,仿真程度很高。想知道如何获取大量的建筑,线路,地形信息制作地图。我还发现了奇葩的bug,就是长度为某些整数米的缓和曲线有问题,某些预览不对。问题差不多就相当于,你在(100,23)处沿着东西方向的铁轨走路,往东走0.1米的话应该是(100.1, 23)但是如果遇到它恰好是缓和曲线终点的话,又是那几个整数值,你走到的是(0,0)这个点,继续沿着下一条轨道走的话,就又回到了正常的(100.1, 23)起点......你走了0.2米的同时你走了205米...