OnTracks: Procedural Railway Track Generator
Draw a line. Get a railway.
OnTracks builds realistic railway tracks from a curve, right in the 3D Viewport. Draw a path or convert one you already have, and it generates the rails, sleepers and ballast with full procedural materials. Everything stays live and editable until you're happy with it.
Why you'll like it
- Draw directly in the viewport. Sketch the route with the mouse, either on the 3D cursor plane or projected onto your scene geometry. Or turn any existing curve into a track with one click.
- Live Update. Change a setting or reshape the curve and the track rebuilds automatically.
- One-click presets. Mainline (Concrete), Classic (Wood, Jointed), Neglected Branch Line, Narrow Gauge 762 mm and Model Railway H0 (1:87).
- Realistic curves. Optional banking (cant) tilts the track through bends, and path smoothing cleans up hand-drawn wobble.
- Conform to ground. Project the track onto a terrain mesh with an adjustable height offset.
Rails
- 7 gauge presets plus a custom gauge: Standard 1435 mm, Russian 1520 mm, Broad 1676 mm, Cape 1067 mm, Metre 1000 mm, Narrow 762 mm and Mine 610 mm
- Adjustable rail height, head width, foot width and web thickness
- Optional jointed rails with staggered joints, gaps and fishplates
- Tie plates and rail clips in High Poly mode
Sleepers
- Wood or concrete
- Adjustable size, spacing and height above the ballast
- A Variation slider randomizes offset, rotation, sinking and size, so the track doesn't look cloned
Ballast
- Shaped ballast bed with adjustable width, height and side slope
- Surface roughness and scattered loose stones (High Poly)
Procedural materials, no texture files needed
- Rusty steel, weathered wood, concrete and gritty ballast
- Sliders for rust, sleeper weathering, ballast dust, and oil and grime
- Tint controls for sleepers and ballast, plus stone texture scale
Built for any project
- High Poly for close-ups and renders: beveled sleepers, plates and clips, rail joints, noisy ballast and loose stones.
- Low Poly for real-time use: simple shapes, adaptive sampling, no small parts.
- Unit Scale resizes the whole track, for example for H0 model railways.
- A Seed value makes the randomness repeatable, and Mesh Density controls sampling.
- Finalize turns the track into normal, editable meshes. You can optionally join the parts and delete the source curve.
Perfect for: environment artists, architectural and urban visualization, game developers, train and railway scenes, and model railway designers.