I want an object to follow a path in space (specified via F-Curves, or by clamping to a Bezier curve), but I want the Z axis of this object to always be tangent to this trajectory (the same way that the engine of a train is approximately tangent to the train tracks).
I've tried using constraints: having an empty move along the "train tracks", and my object following closely behind, using a track-to
constraint (so the object's Z points to the empty). I've paired this with a limit distance
constraint (target is again the empty), but the result is not visually convincing -- it looks like the object is short-cutting the turns, as opposed to staying on the "train tracks".