Car Rig Wheel Sync Glitch

The goal of this rig is to control the rotation of the front wheels, and have the car body follow the front wheels and move in the same direction of the wheels.

For the most part, my rig is working. However, the front wheel on the front of the car is not copying the rotation of the control bone the same way as the rotation as the front left wheel, even though they have identical settings.

Attachments

fancy_car.blend (552 KB)

How correct you want the rig to be?
Because the front wheels don´t turn with the same speed in curves as they follow different lenght curves in a curve.
Same goes for the steering rotation. It is not the same angle.

However:
I think you messed up object rotations and locations somewhere on the go.
If I reset the pose and locations all snaps around weired.
If i go into edit on the armature, delete the right wheel bone and copy the left one, the rig works.
It completely escapes me why the righ wheel isn´t rotating around the bones Y axis though. It all seems to be set fine.

However that is very undesireable what you did. You rotate the target bone around the global Z axis.
What if the car is not on a planar surface? Or only on 2 sidewheels? then the wheel rotates around the global Z axis which is completely wrong.
First turn on to show bone axis on the rig when working with constraints :smiley: You might want to use ctrl+n as well to reset the bone rolls.

You got a few options:

  1. Rotate the steering bone so that the bones Y axis matches the wheels bones Y axis and copy those locally.
  2. Rotate the wheel bone so it matches the steering bone, which is undesireable as I guess you plan to rotate the wheel bone to rotate the wheels when driving.
    I´d go with option 3:
    Rotate the wheel bones so they match the steering bone and copy the local rotation for steering, also use the wheelbones for suspension.
    Create new bones 90° and childs of the new suspension/steering bones and parent the wheel to it, those will be your bones rotating the wheel.

hth

Hi… been setting up a car rig too… I liked the way this fella set up his IK for a car on youtube…

Correct me if I am wrong, but I think I made a rig that addresses both the problems. However, I am not sure how to make the car turn around a curved path, and I am also not sure if my rig is accurate or not.
Here is my new blend file.

Attachments

fancy_car1.blend (557 KB)

Hi Shades,X It’s coming along. Your rig has “issues”. The wheels for instance… I would parent them to the individual wheel bones of your rig rather than using the armature modifier. Unless you are going to have your rig deform your car in some way I’d steer clear of using this. For mechanical rigs i suggest parenting bits to different bones. I have parented the front right wheel to the wheel bone of your rig. Your rigs rest position isn’t where i’d think it should be… … it’s a bit glitchy for me to set it up correctly without spending too much time… I’d consider starting a fresh armature… I’ve found sometimes that is so much faster than fixing glitches and aligning.

Anyway, I threw the system i have been investigating for driving a car rig into your file… It gives some strange results on your rig because your parent bone is IK and i am positioning it from the curve and the steering is coming from other steering IK giving some interesting spinouts., but the basics are there.

I have an arrow that follows a curve via the curve modifier… ie you can move its object at a speed in x direction and the arrow mesh will traverse the curve at that speed. On the arrow i put some vertex groups. One for the cars location … one to track the car to , this will make the car align to the curve… and one for the steering pointer to turn the wheels… using the IK method in the youtube video to set up IK. You will need to tweak the position of the vertex groups in the arrow mesh for your set up.

The controller i use to drive my rig is there too. The velocity property drives the arrows postion along the curve. I can then use this for wheel rotation etc etc. You can set it to 1, take note of the distance travelled in 1 sec and find your conversion rate… ie it may be 1 velocity = 40kmh. You can then key in velocities. There are some drawbacks to this approach in that using the UI to “scratch” around frames will give rubbish results. I have set up a reset property and keyframed in 0 at frame 0… which moves everything back to the start.

Shrinkwrap is a great modifier for car rigs… especially for wheel position.