其實早就有給RW作插件的想法,然而並不容易。工具
先是給RW鋪軌,選軌道最開始覺得很重要,後來發現不過一個文件替換就能搞定,因此隨便一個軌道就行。插件
第一次鋪軌沒有電氣化,因此重鋪(其實文件內容替換就行)設計
第二次用了GantryTool放電杆,有了站臺,然而TrackRule用的單位是MPH的,推倒重來。orm
第三次就先創建TRACKRULE,複製粘貼一個吧,改一下超高數據,還有單位要KPH。奇怪的是我查的公開數據7000米轉彎半徑超高175,大概是7度多,我設置了12度,然而遊戲當中並無用,按300時速開過去仍是欠超高(感受往外甩),不知道它是怎麼算的。半徑450米的話,80的速度過去就是過超高(往裏傾斜),好像120左右過去才適合。總之很奇怪。並且不會設置物體角度(後來才知道Tab能夠對準軌道中心線),並且沒信號。遊戲
第四次開始大量收集第三方插件,首先是導入地形,而後是設置TrackRule的線路間距。參考各類示意圖以及網上不靠譜的數據來肯定每一個地方的高度值,雖然前期鋪設的高度不必定相同,後來寫了若干C#程序把全部高度統一了。博客
如今作的算是個4.2的吧,畢竟不是推倒重來的,不過如今已經有這想法了:原來鋪設軌道沒有考慮規則的曲線半徑,好比7000的話應該是6997.5+7002.5,18號12號道岔之前也徹底是用道岔工具鋪設的,良莠不齊,後來查了一下資料,引入了固定長度固定曲率的道岔。it
由於如今能夠作到固定長度固定曲率的軌道,因此以前的都想推了。然而工做量太大我懶得改了╮(╯-╰)╭table
隨後因爲感受中國插件太精細,致使機器帶不起來,因此如今開始逐步替換爲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位置。object
遇到的坑就是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的坑了,算是提個醒吧。