I've been having an adventure in rigging up a tank tread that adjusts to the ground. Tried a number of paths. I think I've found the way, but I'm having some little problems.
The basic idea is simple.
I've got the wheels in the tread, they have 3 joints in them. If the wheel was a clock, the joint would go from 230, to the center, then end at 6. Then an IK from start to end. I've used a geometry contraint form the IK handle to the ground mesh. This makes the wheel adjust to the ground nicely as it translates. This part seems to work well.
Then I've been using a tread script on a curve to make the actual treads. To make the tread curve adjust to the ground, I've clustered the CVs on the bottom. Then I used the geometry constraint on them too (and parented them to the curve, crazy I know).
This actully works, kinda.
I need to be able to move the clusters on the tread curve to account for the height of the tread. Moving the cluster pivot doesnt trick the geo contraint. Having a second dummy ground mesh doesnt seem to work well enough, and I'm too much of a geek to use such a low-tech method.
As well, while undoing when I've been testing ends with the joints not returning to the previous pose, or the cluster actully move in the +Z and need to be zeroed out. Is there something I can do to stop/minimize this?
Anyone done this? Have a better method? Advice anyone? At least grammer or spelling corrections? :)