Rigging a Wheel to Turn Corners: Drivers vs. Bones The tutorials I've found show how to rig a wheel to roll automatically, in one direction (X or Y), in relation to the location of an empty or bone. I've managed to get the wheel rotation to work along both the X and Y-axis in a drivers-based rig, but the wheel rotation when steering on the Z-axis isn't always accurate.

A bones-based rig could possibly work if there's a way to set the axle or driver bone to local space, but I don't see a way to do this, and it might just result in the same issues as the drivers-based rig.

Your thoughts and suggestions would be appreciated.

The two rigs I've made are downloadable here, both controlled by the "ground" empty/bone.
Both approaches will not work when dealing with corners, they will only work in straight line. There is more about why that is here:

Making wheels spin as car moves

You need to either:


construct a path for the car (or for each wheel if you want to be precise) and drive the wheels with that
Use Animation Nodes addon, this lets you access animation F-curve data and compute the wheel rotations
Use rigid body physics to simulate the wheels and collision with ground, bake the simulation into keyframes
Create a PyDriver (a driver with added function through script that can access blender f-curve data) or a frame change handler. With both you can access animation to compute the path and drive the wheels correctly
Write a script for your rig that will add/update animation of the wheels to the f-curves, similar to a script that would snap FK and IK bones in a rig, but with different function
Write an own engine that will simulate the wheels collisions and add it through app-handler to execute on each update of the car rig