The rig looks like a typical rigify setup with 8 arms with 2 bones each sticking out to form the skirt. The way my skirt rig works is that the upper skirt bones use drivers to copy the rotation of both legs and add together the results with an additional bone in the center to control the flowing of the skirt. There are some Limit Rotation bone constraints on the skirt bones that I use for the back and front rotation to prevent the skirt from bending inwards and causing clipping issues with the pelvis and other leg.
So far, I have managed to make my rig work when
-Left leg only moves side to side
-Left leg only moves back and forth
-Right leg only moves side to side
-Right leg only moves back and forth
-Both legs move together side to side
-Both legs move apart side to side
But I start to experience problems whenever I try to make
-Both legs move back or forth simultaneously
-One leg moves back, other leg moves forward
On the first problem, the bones copy the rotation of both the legs and add them together, which causes the skirt to rise twice as high when they both move. The limit rotation also prevents the back of the skirt from bending, which I designed so that when one leg is down, the back of the skirt doesn’t clip with the leg, but is unnecessary when both legs are up.
On the second problem, both legs clipped through the skirt as the bones try to factor in the result of the rotation of both legs and not match up with either.
My theory for a solution is to adjust the drivers so that when I bend the leg forward, it would follow a different set of rules than if I were to bend the leg backwards. For example, the back of the skirt would copy the rotation of the leg when it bends backwards, but be a lot more subdued when the leg bends forward, but I am not sure how to make this happen or even if such a solution would work properly. Another theory I had was to apply drivers to the Limit Rotation constraints to be more dependent on the rotation of the legs, but I’m sure it wouldn’t fix the second problem and may not even fix the first.