didn’t expect it to be that much work
Famous Last Words!
I must ask, is using a timeline/this method the best solution to this problem?
I think this will depend on what other features are needed further down the line.
The Timeline will give you plenty of control but, at the same time, it will make the whole thing somewhat rigid. With a TL, those pieces must stick to the rules of the movement.
Were you to use vInterpTo
instead, it would be easier to script a more organic behaviour but that would be more difficult to control. Hard to advise, never made anything like that before but it does sound like a great exercise!
Because it will interrupt the timeline if the head moves before its complete, right?
Yeah - precisely, if the head moves prematurely - before the other pieces have finished moving, the current setup breaks. We either need to put a condition for the head move or approach the tail catching up differently - allow many head movements while the tail catches up more independently.
How should it work? The head moves as fast as it wants and the rest tries to catch up as fast as well?
One way or another, it will require at least a moderate amount of tinkering.
testing out a snake based system
Another method you could consider employing is a spline. As the head moves it drops spline points. This would sure come with advantages and disadvantages as well.