You know how a train wagon moves on its tracks? If it takes a curve only the wheels stay perfectly above the track, the rest of the wagon might get offset a bit.
This motion is exactly what I am trying to recreate in Blender.
Try one: Armature constraint and offset
First thing I tried was using an armature with two bones, one following my path with a constraint, the second just with an offset. On pretty straight paths this is very effective.
Pic 1: The green bone is the middle one, the blue one is the offset one, the orange line is my path and the circle represents the fixed distance for the second bone. The blue bone should always be on the crossing of the circle and the path.
However, this turned out to be ineffective for sharp turns, because the offset is not the direct distance (represented by the circle and purple line) but the distance via the curve (as seen in Pic 2, green).
Try two: Armature constraints and limit distance
Second way I tried is similar to the first, it uses an armature and two bones with a follow path constraint, the second having an offset. The only thing that's different is that I included a Limit Distance
-constraint on the offset bone. This worked pretty well, as seen in Pic 3, except that it limits the distance after it follows the path, which means it isn't on the path anymore. The otherway around is even less effective (Limit Distance
, then Follow Path
) because then the position gotten from limiting the distance is used in following the path as well.
Third try: Line segment and curve modifier
The last option I tried, came from this post. It used a line segment and a curve modifier on it. This seemed very effective too, except I had the same problem as in my first try; it didn't use the direct distance (purple) but the curve distance (green) to bend the segment (Pic 4).
My final question
How can I make two points follow the same curve but with always a certain distance apart as the crow flies?