Starting with your 3D Rollercoaster curve, 'RC_Curve', in whose Curve > Shape properties, Twisting is set to Z-Up.
Throughout, we will put all object origins at the first vertex of RC_Curve. Also, it will be good practice to duplicate modified objects and stash them somewhere, before applying modifiers. Hide parts as necessary. The only reason I've given things names is to keep the description short, and I'm afraid I haven't included all the keyboard shortcuts, for the same reason.
- Create a small plane at the first vertex of RC_Curve, 'Track_Section'.
- Add an Array modifier to 'Track_Section'. Fit Type: Fit Curve. Curve: RC_Curve. Relative Offset, by a small number in X, say 0.1.
- Add a Curve modifier to 'Track_Section', Object: RC_Curve. Deformation Axis: X.
Apply the modifiers.
- Create a ground plane, ('Ground',) in XY, below RC_Curve, large enough to accommodate RC_Curve in Z projection, including vertex handles.
Duplicate RC_Curve, ('RC_Ground'). In Edit Mode, set snap to 'Face' and 'Project Individual Elements..'
With all the vertices of RC_Ground selected, viewing Ortho fom above, hit G. We should now have a projection of RC_Ground onto Ground. In RC_Ground's Curve > Shape properties, check 'Stretch' and 'Bounds Clamp'.
- For convenience, duplicate one edge of Ground, separate it into a new object, 'Ground_Mesh'. Subdivide it to the number of columns you want. Snap its first vertex to the first vertex of 'RC_Ground'.
- Add a Curve modifier to Ground_Mesh, Object: 'RC_Ground'. Apply the modifier.
- Now it helps to unhide the track, an hide everything else except Ground_Mesh. In edit mode, duplicate the vertices of Ground_Mesh.
10 In the same way as we projected Ground_Curve onto Ground in step 6, we will now project the duplicated vertices onto Track_Section. ( This time, from a Bottom Ortho view).
- Bridge the edge loops.