Attaching a human rig to a Bicycle Rig?
For a personal project I'm working on, I have a camera flying down a city street and I would like to include an animation of a kid on a bicycle. So far, I've used the car template to rig the bicycle as best I could, using a combination of constraints and xpresso at times to attach the bike geometry to the rig. Now that I am attaching a human rig to it, I'm running into some issues I'm not sure how to resolve. I will be attaching a link to the project file, as well as a video recording below, but let me first give you some information about how the rig is set up.
-My goal with this rig is to have as much of the animation be procedural as possible i.e. path drives the bike, which moves the pedals, which moves the characters legs and arms via ik goals.
-The path drives the back wheel via the the car rig template, which drives the front wheel rotation.
-That rotation information is passed along to the bike petals. The individual pedals currently have aim constraints to keep the pedals upright as the crank rotates.
-Each character leg has an IK tag with a goal that is a child of each pedal for each foot.
Here is a link to the Project File: https://drive.google.com/drive/folders/1uLxSfLpwg7M9Fk6mWoOITbWt49pkgOxI?usp=sharing
(Im just focused on the getting the feet right first, I haven't worked on the arms yet)
It's starting to work a bit but I'm running into a few issues that you can see in the video that make the animation a bit janky. Here is a link to a screen capture of the project:
-The feet don't seem to follow the pedals precisely and are a bit jittery, not sure why. (Using parent constraints with generator priority.)
-The feet are turning when the path turns, I would rather them stay aligned with the pedals
-I cant figure out how to keep the feet from intersecting the pedals as seen at the end of the video. I would like to come up with a solution in xpresso to drive the angle of the feet bones and rotation of the pedals based on the position in the cycle, if possible.
-Is this the proper, or best possible way I should be setting this up?
- How can I improve this rig?
-How can I ensure the character legs, and particularly the feet, follow the pedals as precisely as possible?
-How can I ensure based on this set up, that the feet stay aligned with the pedals even as the path turns?
-How can I modify this rig so that the characters knees don't swing so wide when the pedals rotate?
- How can I improve this rig?
Dr. Sassi last edited by Dr. Sassi
Thanks for the file.
The main idea is to keep the priority numbers and settings as low as possible for each step, while it is good practice to go in 5 or 10 increments each time to have some space for later added parts.
Going without the need for a Generator level means only that any part of the second rig that has priorities at any point below Generator will take the information from the previous frame. Hence the delay. This can add up many frames and is not limited.
But it can get worse, as the XPresso editor must also be sorted; in some cases, the information might not come in, etc.
First, check the XPresso Editor to see if it works flawlessly. The nodes need to be sorted in the X-Mananger from the top down to work without concerns about priority issues.
This might take some time to sort. Start with the problem object, and write down what Tag or expression drives it. Then check if the Constraint has an object in it; on the right side of that entry field, you will find an option to set that object in the Object Manager. If the Object manager is active, pressing the S key should bring you to that object. Then you start again; what is moving that object, each time note that priority, and when you come to the first object in that chain that is not dependent on another, then you know how to set the Priorities in 10-step increments and, if possible, start with Expression 0.
There is a simple way to avoid that effort:
Two rigs that use similar Priorities could be mixed, perhaps with the Priority Shift Tag.
From my perspective, this is a second shortcut; if it can be avoided, then that is the better idea. But explore that for your idea.
The core suggestion that I want to share here starts much earlier. To have information in a chain is sometimes needed. Hence, the priority setup to begin with.
With the bicycle, that is unnecessary, as there is one piece of information, the pipeline path and how things move from there; it all boils down to this information. So the Controller from the Car Rig you have put to Expression 8, which means the Boy should be fine with even Expression 20, to go to Generator at that point should be avoided.
One thing that I see often is animating as if it were the real thing. What we are interested in is just the illusion that it looks that way. So, having the pedals separate from the feed makes little sense and creates more work. Why not have the Padels as child objects under the feet during the ride and use the Gload as a position to the Crank? With that, it is easier to animate the feet as they move along each cycle, not just in a circle, but the front part goes up and down.
The other option is to set up the bicycle, and when the animation is as it should be, bake the animation into keyframes (or Animation Clips). Use a copy for this, and animation clips work with the exact same hierarchy; don't change things afterward.
With the bake information, any new rig has that data from the start, and the given hierarchy for the Boy can be used as if it were alone.
Please note that the Legs and Arm IK setups in your scene had no Pole. This is critical for a more natural joint movement without flipping or jumping.
I am also under the impression that the Boy's legs are too short. Besides, a bicycle takes every curve leaning into the curve.
The example below is a demo, where I take from the Car rig information as early as possible and connect a character with it.
My best wishes for your project