Hi There!
I have created smoke stacks for slow and fast moving trains... and it is all faked!
As it sounds like you have created the smoke effect already, my suggestion would be to create the emitter/fluid container around your engine at the origin with no motion! And then use volume axis fields!
- Use 1st volume axis field (VAF) for a directional force pushing the smoke back along the length of the train
- Use 2nd volume axis field (VAF) that "follows" the opposite aim direction of the motion of the train as it travels along the tracks ( assuming that the trains are not in a straight line) This pushes the smoke in on direction or another - "being left behind" - rotational direction force (animate the Y-rotate) Use reverse attenuation here little force near stack and more the farther away
- Use a turbulence field to spread out the smoke as needed.
Cache the static fluid container at the origin.
Create a copy of the fluid container and constrain it to the moving train - AND attach the cache from the origin fluid container....
You now have smoke that follows the train - mostly - do a few playblasts to make sure that the 2nd fluid container of smoke looks good "follows" the train realistically - if you drifted smoke the wrong way adjust the 2nd VAF to match - recache.. if the smoke is not falling behind fast enough or too fast - adjust 1st VAF directional force...
That way you never have to worry about moving huge distances as the cached fluid container can move along with the train...
Have fun!
C