I am trying to create a simple caterpillar track animation with root motion.

enter image description here

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.

enter image description here

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.

enter image description here

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?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.