摸鱼,搞RW

其实早就有给RW做插件的想法,然而并不容易。

先是给RW铺轨,选轨道最开始以为很重要,后来发现不过一个文件替换就能搞定,所以随便一个轨道就行。

第一次铺轨没有电气化,所以重铺(其实文件内容替换就行)

第二次用了GantryTool放电杆,有了站台,然而TrackRule用的单位是MPH的,推倒重来。

第三次就先建立TRACKRULE,复制粘贴一个吧,改一下超高数据,还有单位要KPH。奇怪的是我查的公开数据7000米转弯半径超高175,大概是7度多,我设置了12度,然而游戏当中并没有用,按300时速开过去还是欠超高(感觉往外甩),不知道它是怎么算的。半径450米的话,80的速度过去就是过超高(往里倾斜),好像120左右过去才适合。总之很奇怪。而且不会设置物体角度(后来才知道Tab可以对准轨道中心线),而且没信号。

第四次开始大量收集第三方插件,首先是导入地形,然后是设置TrackRule的线路间距。参考各种示意图以及网上不靠谱的数据来确定每个地方的高度值,虽然前期铺设的高度不一定相同,后来写了若干C#程序把所有高度统一了。

现在做的算是个4.2的吧,毕竟不是推倒重来的,不过现在已经有这想法了:原来铺设轨道没有考虑规则的曲线半径,比如7000的话应该是6997.5+7002.5,18号12号道岔以前也完全是用道岔工具铺设的,参差不齐,后来查了一下资料,引入了固定长度固定曲率的道岔。

因为现在可以做到固定长度固定曲率的轨道,所以之前的都想推了。然而工作量太大我懒得改了╮(╯-╰)╭

 

随后由于感觉中国插件太精细,导致机器带不起来,所以现在开始逐步替换为RW自带插件。举个例子:RW的轨道是两个长方体(各3个面)和一个地面构成,才7个面。而水泥枕的插件,一根钢轨大概10个面,地面带斜坡总共3个,水泥枕也得10个,扣件也得6个。也就是说1米之内就差不多40个面了,轨枕的间隔我记得是750mm……所以一进30条轨道的大站(现在要求到发线距离至少650米,那得多少个面啊)就卡的不行,换了插件之后毫无压力。(虽然100n和n是一个数量级,然而平时用的并不是多大的n,所以常数项能少则少)

 

期间C#搞了不少小东西,因为懒得买RWTOOLS了,它需要VB6而我懒得装,所以自己实现了想要的功能,比如:批量替换BlueprintID,移动部分模型,模型高度的调节,SeriesMarker的转换(从KML到DCSV),规范曲线半径与Arc长度,统一Marker Siding位置。

遇到的坑就是XML要保存成不要BOM的UTF8格式!有BOM的serz一律出空文件……

还想做的一个就是Align scenery objects,比如一系列的signals尤其是进出站的时候,30个信号应该在一条直线上,并且每个信号都在轨道旁相同的距离,比如有的在左侧3米,有的在右侧3m。一条直线感觉好弄,毕竟可以算出所有坐标,求个均值,然后搞个与轨道垂直的方向即可。两侧侧感觉就不容易了,一个是要判断左右,另一个还要判断轨道在什么位置。不过有图来支撑,位置计算还是可行的,只不过很难,要各种修改XML。而道路两旁的就不用怎么改XML了,直接延长一段,然后铺轨,然后在轨道上Tab来放信号就行了。至于信号箭头的位置嘛,也是能改XML做到统一,然而还是算了吧,这个意义不大,毕竟看不见啊,即使编辑模式看见了,同一位置反而显得单薄,随机摆放可以显示位置。

 

然后就是搞模型,RW自带的都是欧美模型,除了站台感觉可以用,别的感觉明显不一样啊。我们有站房候车室的!所以现在就空着。然而3DSMAX是可以免费3年的,申请了之后就入坑了……开始画东西,最开始有Blender的,然而我用的不习惯。虽然之前没接触过这些设计软件,然而用起来感觉很顺手(●'◡'●)。

 

大概就是画个模型,然后贴图。因为是想给不同的面涂不同的颜色,之前一直没找到怎么弄,都是一个块用一个图。现在发现了,赶快写个博客压压惊。

先是选模型,让它变成Editable Poly,然后Modifier List选UVW Map,然后Unwrap UVW,右边Edit UVs里边点开Open UV Editor就能调每个面对应的贴图了,我说为啥好多贴图都是一块一块的,这个地方可以选谁对应那一块。说到DDS,GIMP导出的时候要选择无压缩的RGBA8才能正确导出,大部分导出都是错误的,有两三个导出了有图但是像素颜色不对。弄好之后最后的Utilities里边Reset XForm,对选择的物体reset一下,要不然会出现某些位置物体消失的奇葩bug。

 

 

 

如果有人也要入RW的坑了,算是提个醒吧。

posted @ 2015-09-25 13:05  Shi Daochen  阅读(244)  评论(0编辑  收藏  举报