Rigging Automatic Car Wheels

In this Blender 2.5 video tutorial we take a very basic car model and rig the wheels to roll automatically with the car and also setup a steering system to easily point the front wheels appropriately. This simple rig makes use of several different constraint types, including transformation and track-to constraints.

Leave Comment

Discussion

39 Responses to “Rigging Automatic Car Wheels”
  1. Posts: 9

    So, I used this tut to rig a car I had already made, everything was pretty spot on. I have noticed a few things I would love if someone can explain.
    1) if you animate the “Base bone and do a 180 turn and head the other way the tires will start turning the oposite direction.
    2) And I would love to know how you would animate this on a path? Do you just add a bone constraint to follow the path attached to the base bone? I’ve actually tried that and tried to follow an object animating along a path with not much success. Any input here would be stellar.

    Side note: the errors dont bug me, It actually makes thing more clear. I run into that tuff all the time so watching a someone do a tut that needs to back track is no big deal.

  2. Posts: 9

    Addition to last post.

    Being a citizen member I downloaded the working file and noticed that if you rotate the bone 90 degrees on the z axis the wheels stop turning when you move the base bone along its local y axis. it only works when moving it along the world y axis. I know its a pretty basic tut on rigging a car but it would be cool if you can throw us a “Bone” :P (armature humor) on how to translate this or get the car to animate correctly along a circular path perhaps.

    Thanks

    • Posts: 3917

      Hey Brandon,

      Another user pointed this problem out to me and I am still looking for a way to solve it. I believe this is actually a limitation of the Transformation constraint and the rigging may need to be done in another way. My current thought it to use Drivers but I will have to experiment with it a bit more. If I can come up with a solution you can expect a follow-up tutorial!

      -Jonathan

      • Posts: 4
        Simon Kinane says:

        To fix this problem, you need to define a space which follows the rotation of the base bone, and a target object in that space which follows the location of same bone. You can then target this object in the wheel constraints instead of the bone.

        To do this!…

        - create an empty at the origin, and add a constraint to copy the rotation of the base bone
        - create another empty, make it a child of the first empty, and add a constraint to copy the location of base bone
        - modify your wheel constraints to target the second empty
        - the target should be evaluated in ‘Local(w/o parent) Space’
        - change the Transform mapping from the target’s Y location to X (I don’t understand why I had to do this step, but it worked!)

        Hope this is intelligible,

        Simon.

  3. Posts: 4
    Rory says:

    Couldn’t the steering bones have been done with IK?

  4. Posts: 1
    |Tom says:

    Well I don’t like all of the mistakes, at all. Luckily I was able to get past it, but still.

  5. Posts: 1

    very nice
    but can u show me how to do it in blender 2.49 because this version is different

    • Posts: 3917

      Hi there,

      We actually no longer support Blender 2.49. Many things have changed in Blender since then. I highly recommend upgrading to Blender 2.61.

  6. Posts: 2
    Rob Gosbee says:

    Trying to build a rig that will allow a car model to burnout and fishtail before gaining traction and speeding away. Can this be done using this rig? I’ve been trying for days to get Phillipe’s rig from BlenderNation to work, which I understand to be the most popular method. Any ideas?

  7. Posts: 14
    beast28 says:

    Can this rig be exported to Unity with the same functionallity?

  8. Posts: 3
    Stephan says:

    Hi Jonathan,

    why parenting the object to the bones with the vertex groups? As body and wheels are separate objects wouldn’t it be easier to parent each of these to their bones by using Ctrl-P->Bone? That would just transform the object instead of the mesh, or do I miss something?

    Stephan

    • Posts: 3
      Stephan says:

      Ooops, I just saw, they aren’t separate objects.

  9. Posts: 1

    I have a lego car I’d like to rig, and was wondering if maybe you could help me?

  10. Posts: 7

    Just once I wish someone would do a rigging tutorial that doesn’t involve five million steps. I don’t care if the result would be small… it’s just too much detail.

    I’ve attempted to get through this tutorial three times now, and I never make it. You are using dozens of shortcuts and commands I’ve never seen before, and since you are going through many, many armatures I just get lost in the tide. I think this must be why people hate rigging so much. Everything else I have done, I’m allowed to start small, but in rigging, they always throw the entire human body at you, or stuff like this. I think the tutorial on rigging that gives you a few armatures and steps you through it just doesn’t exist. (Except for the chain one… but they don’t actually teach anything in it.)

    Sigh.

  11. Posts: 1
    akoz says:

    hey , tried , but not so easy: ..
    the pb comes from the “installation”, the setup of your car : it has not been explained right, and thinking we just have to make a car then go ! .. not true !
    in fact you missed some about the wheels which have been in one object and not separated .. ! .. crazy mistake in the tuto which makes try to understand the use of the vertexgroup there .. none .. just a correction .. for U ;))
    then i keep on it, but .. there was some re-try on the space used .. 1st world, then pose .. then local !! .. i think there lust be more explanation there to greatly understand what does what ! (?) .. as we can see some about the base rig is the “chief”/parent, then its sspace may be used for reference, it should be right…
    alos i stop trying more than getting my wheels turn right sense.. i don’t search for the rig to control.. as i think there was some strange use there..
    here in comments, a suggest of empty guides is right, also some is to be changed.
    In fact, the car can go and its wheels turning right… but that basic and the wheels will turn in the right direction when you get the rig base in a local ref.. then all is ok .. and not strangly turned by a world ref.
    * to setup more, is to in dicate all those parts, and explain the ref used, local may be right coz of a self reference (the car ;) )
    ok done … thank you as you can .. but really not easy to understand. You speak a bit too fast and may you use the 2.71 ver (some parts in bones transformations have changed !! .
    funny i don’t see what you have in v2.61 ! ;)) but found how … (Y->X is important !)
    1 – check one by one the parts of the object and how you did them : body car.. wheels independant
    2 – use the mouse/key used indicator done in the last version of blender, for tuto that’s geat to see what you click ! as here , it is very mysterious !

    3 – cheers , and thanks for the try, i did some parts and understand with your mistakes too :)

  12. Posts: 1
    clockmender says:

    Hi Guys

    I am a bit of a newbie to Blender, but…. I have had a go at this and got thus far and offer this proposal:-

    1) Create a NURBS curve for the path of your vehicle. Copy this to the centreline of your wheels.
    2) Add a profile to this first “road” NURB in the Curve section of the element to make it look like a road.
    3) Create two objects, I used Icospheres and I am not sure why, and add a Curve modifier to these using your second NURB curve. Space these on the curve at axle intervals, and lock the location in the “time shift”?
    4) Create an Armature, with a base bone in the middle running from axle centre to axle centre and bones out to wheel centrelines.
    5) Add bones for the four wheels connected to the axle bones. Add a Transform constraint to these with the appropriate Icosphere as the target and map location to rotation. Since the Icos move in X to follow the curve, set the X values to + and – (3.142 x the diameter of the wheel) so it turns the correct amount for each movement of X. Map Source Z = X and Source X = Z (don’t know why I had to do this but “C’est la vie”). Map the Rotation in Z as 360 and -360 (play with the order to get wheels turning correct way).
    6) Parent the armature to the rear Ico as Object 3 Vertices, so it follows the Icos as you grab them in X axis along the curve.
    Voila! Wheels rotate in line with the Icos movement.

    As an added extra, I added a second armature to the front Ico and IK-ed the base bone to it. I them added two ‘Steer” bones to this armature, then put two steer bones in the main armature with a Copy Rotation constraint to the two steer bones in the front armature so the wheels now steer around the corners, whilst maintaing their axial rotation. Thank for the tips here I was really struggling with this before to get my wheels rotating properly. I don’t know if I can upload the project here or not but let me know if you want it or how I can get it to you.

Leave a Comment

You must be logged in to post a comment.