Sorry for not remembering that this is exactly the snow plough we were talking about.
The video by the Germans is the second one here:
http://rail-sim.de/forum/index.php/Thre ... post327061Let me know if you need translation. They don't say much anyway, except that it is great.
In the case of your plough, I would create three things.
1) Snow on the track that comes in segments of, say, 3 or 5 metres representing snow that is some 50 cm above rails. When a segment is fully under (in) the plough shape, it gets lowered to the level of the rail heads or a bit below. It will still cover the sleepers after the plough did its work.
2) Bulges left and right representing the snow dug away. They are a single shape showing a pair of domes raised from under ground as the plough passes them. Of course, the cloud coming from the emitters is of big help to cover their growing phase.
3) Static snow left and right of the track.
Depending on the minimum radius of your curves, there will be some maximum length for snow objects. Assuming that you decide the limit to be 50 m, you could have 10 segments of 5 m length. They extend 25 m on each side of the track link.
Each segment is constituted by two children of the signal blueprint. One for the snow on the track that is lowered and one for the bulges that are raised. I don't think you can combine this pair of movement into a signal object with a single animation due to the strong limitations on animations in this game.
So you got a signal with 20 arms. Would be interesting if the game manages that at all, or if there is a hidden limit to the number of children any blueprint can have.
As for normal signals, you would have only two child blueprints, one for snow on track and the other for one pair of bulges. Then you add 10 references to each of them, giving 20 children. If that is too much, try with 5 segments giving 10 children.
You could put the names of these children in an array patterned after normal signals, as if they were home and distant arms for 10 dolls. Or you use some naming convention that removes the need for that array.
OnConsistPass will just add 25 to the distance (because we are interested in the range of -25 to +25). Then, whenever a multiple of 5 is crossed, the next 'arm' motion is started.
I ought to beat up a script some time this weekend as what I write here will not get you there. Let's hope there is some timeslot somewhere.