I am trying to create a simple caterpillar track animation with root motion.
I have assigned each plate of track a
Follow Path constraint to follow a Beizer Curve(named "Core"), and added a driver so that its
Offset parameter can be controlled by X-Rotation of an empty sphere(named "Rotation Controller"). This way rotating the empty sphere rotates the track plates. Next I added a driver on X-Rotation of the empty sphere so that it can be controlled by Y-Location of the Beizer Curve("Core"). I have also added drivers to each tire so that their rotation can be controlled by the rotation of empty sphere("Rotation Controller"). Finally, the armature(which controls the body except for the tires and tracks) and tires are parented to the Beizer Curve("Core"). So now if I move the Beizer Curve("Core") along the Y-axis I get the desired motion.
But this approach does not work for root motion because the tracks are not parented to the "Core". This is what I get when I export the animation to Unity. Everything works fine except for the tracks which seem to live their own life.
Track plates will be move correctly in root motion if they are directly parented to the root node("Core" in the case). What should I do to make it work?