Advanced Car Rigging in Maya

Advanced Car Rigging in Maya with Mark Hedron – Part One –

Creative Studio: Advanced Car Rigging in Maya with Mark Hedron

Published by 3d Studio UK and Octohedron Design

| December 8, 2011 | Autodesk Maya | Author: Mark Hedron |

Throughout this Maya tutorial, we will take a look at how to create an animation rig with automatic controls for cars and vehicles in Autodesk Maya.This tutorial will cover the creation and implementation of a car rig in Maya. We will look at the creation of a generic animation rig and then expand on this by adding automation and terrain attachment controls.

Part One:

01 Introduction and project overview
02 Preparing the scene
03 Finishing the clean up of the scene
04 Wheel rotation Controls (Locators)
05 Main Car Controls Curves
06 Organizing the Controllers
07 Control naming and hierarchy placement
08 Rigging Wheels  <– Click for PDF Version

12 Rigging Windshield Wipers <– Click for PDF Version !

15  Creating an effective Steering System


01 Introduction and Project Overview

Reliant Regal – British Three-Wheeler –

BEFORE Part One:
advanced car rigging in maya

advanced car rigging in maya

AFTER Part One:
advanced car rigging in maya

advanced car rigging in maya

Naming convention:

VEH – Vehicle
GRP – Group
GEO – Geometry
CTRL – Control
MMB – Middle Mouse Button
R – Right
L – Left
F – Front

02 Preparing the Scene

Open Reliant Regal Car (Low Poly Version)

car rigging in maya

Check Hierarchy
Open Hypergraph Hierarchy (Window->Hypergraph Hierarchy)

car rigging in autodesk maya

We have four groups:

1. Car Body
2. Front Wheel
3. Right Wheel
4. Left Wheel

Create Locator “VEH_car_Root” for the Highest Level of hierarchy

Select everything (all 4 groups) in Outliner and drag under the locator node VEH_car_Root
[Parent all 4 groups to this Locator]

advanced car rigging in maya

03 Finishing the Clean Up of the Scene

Check Geometry

Hide everything, except wheels
(Select “Regal Reliant Body” in outliner and press CTRL+H)

car rigging in maya

Select in Outliner Front Wheel and:

1. Delete History (Edit -> Delete By Type -> History)
2. Freeze Transformations (Modify -> Freeze Transformations)
3. Center Pivot (Modify -> Center Pivot)

Repeat all steps (1-3) for all wheels and for car body.

04 Wheel Rotation Controls (Locators)

Create Locator “Front_Wheel_Locator” for the Front Wheel
Move (press “W” Key) this locator to the center of the front Wheel
[Hold down “V” or “X” Key for snaping]

First select Front Wheel in Outliner, then select (hold down CTRL) Front_Wheel_Locator and click “p” for parent
or drag (press MMB) Front Wheel under the Locator node in Outliner.

Repeat everything for the Right and the Left Wheel (create and center Right_Wheel_Locator,Left_Wheel_Locator to the right and left wheel)

Now we have 3 locators for the wheels.

advanced rigging in maya

rigging in maya

Hypergraph Hierarchy:
rigging in maya

05 Main Car Controls Curves

Create rectangle for the main car control, press W (move tool)
[Create -> NURBS Primitives -> Circle]

rigging in maya

Create arrow for steering control
[Create -> EP Curve Tool, Curve Degree 1 Linear]

rigging in maya

Create (Move & Snap) rounded Rectangle for Front Wheel, duplicate this rectangle for Right Wheel and Left Wheel
Now we have single control for every wheel.

Car Rig in Maya

rigging in maya

Create (Move & Snap) Circle [NURBS Primitives -> Circle] for Front, Right and Back Wheel
Move the pivot point of this controler and positon it with wheel locator.

rigging in maya

Create (Move & Snap) Arrow for Front, Right and Back Wheel
(Duplicate, Scale & Rotate Steering Control Arrow)

rig in maya

Create (Move & Snap) rounded Rectangle for Front Axle and one rectangle for Rear Axle

car rigging, maya

Create & Move one NURBS Circle for Car Drift Control and another circle (with rectangle BoundingBox) for Car Roll Control

rigging in maya

06 Organizing the Controllers

Change the Control Curves Color

advanced car rigging,maya

Right Side – Red
Left Side – Green
Base – Yellow
Front – White

rigging in maya

07 Control Naming and Hierarchy Placement

Rename control curves:

car rigging in maya







Parent all control curves to the Base Curve ,Car_Root_Control

rigging in maya

advanced rigging in maya

08 Rigging Wheels

Chapter 08 - PDF Version

The purpose of this chapter is to show you how to rotate the wheels on a car so they follow the car as it move.

Step 1
Select “Right_Wheel_Locator”, we need only rotate X attribute. In attribute editor select (Translation X,Y,Z, Scale X,Y,Z and Rotation Y,Z), right click and “lock and hide selected”.

Rigging WheelsClick to Enlarge

Step 2
Go to side view, use the distance tool to measure the radius of the wheel, as shown below.
->Create -> Measure Tools -> Distance Tool

Rigging WheelsClick to Enlarge

Regal Reliant Wheel radius is r=3.054 units.

Circumference of Wheel = 2*r* π = 2 * 3.054 * 3.14 = 19.179
2*r* π = Distance
Now we know that when the Reliant Regal travels a distance of 19.179 units the wheels should rotate 360 degrees.

Wheel RigClick to Enlarge

Step 3
Select “Right_Wheel_Locator”, right click on Rotate X Attribute,go to Editors -> Expressions

Rigging Wheels in MayaClick to Enlarge

In “Expression” field copy/paste:

Right_Wheel_Locator.rotateX = (Car_Root_Control.translateZ / (2 * 3.14 *3.054 )) * 360;
Left_Wheel_Locator.rotateX = (Car_Root_Control.translateZ / (2 * 3.14 *3.054 )) * 360;
Front_Wheel_Locator.rotateX = (Car_Root_Control.translateZ / (2 * 3.14 *3.054 )) * 360;

Rigging Car Wheels

Click to Enlarge

Click Edit.

Circumference  -The distance around the circle.
Diameter             – The longest distance from one end of a circle to the other.
Radius                   – Distance from center of circle to any point on it.
Origin                    – The center of the circle.
π /Pi/                     – Mathematical constant, 3.141592…

Diameter = 2 x Radius of circle
Circumference of Circle = PI x diameter = 2 PI x radius
Car Distance (Translation) =  2 * r * π = Wheel Circumference

2*r* π = Distance (Car Translation in Z)= Circumference of Wheel = 2*3.054*3.14=19.179 units.
Wheel Rotation = (Car Translation / 2*r* π) *360
Right_Wheel_Locator.rotateX = (Car_Root_Control.translateZ / (2 * 3.14 *3.054 )) * 360
360 = (19.179/2*3.054*3.14)*360

12 Rigging Windshield Wipers

Click for PDF Version !
Chapter 12 

This chapter will show you how to rig a windshield (windscreen) wipers using Autodesk Maya. The final result will be automatic wipers movement controled by dashboard switch. You will be able to turn on/off wipers and change windshield wipers speed by pressing a switch.

Final Result after this Chapter

Rigging Wipers

You will be able to turn on/off wipers  by pressing a switch.


Wipers Expression (Equation) Before this Chapter:
rY = (sin (0.9 * time) * Angle) + Position

Wipers Expression After this Chapter:
rY = Wipers_On_Off *(sin (0.9 * frame * (Wipers_Speed)* 60) + 330)

Step 1 – Cleaning up the scene, General Wipers Equation

Open the file “Reliant_Regal_Chapter12.mb”provided with this chapter.

Windscreen Wiper rotate around Y axis as shown in the image below, we need only rotate Y attribute.

Open Outliner (–> Window –> Outliner) and select “Wipers_Group”,

Delete History (Edit –> Delete By Type –> History), in attribute editor select (Translation X,Y,Z, Scale X,Y,Z and Rotation Y,Z), right-click and choose “lock and hide selected”.

Rigging Wipers

Click to Enlarge

General expression (equation) for Windshield Wipers:
rY = (sin (0.9 * time) * Angle) + Position

rY – Rotation Axis
Angle – Wipe Angle
Position – Initial Wiper Position (Start position, ‘Zero’position ), Offset for position

Visit for info and more Maya Expressions.

Step 2 – How to determine Initial Wiper Position

In local coordinate space rotate Wiper around Y axis in counterclockwise direction (CCW), and set initial position for the Wiper Arm.

In this example Initial position is 330 , degrees.

Enter this value in equation (expression)

Windshield Wipers expression before step 2: rY = (sin (0.9 * frame) * Angle) + Position

Rigging Wipers in Maya

Windshield Wipers expression after step 2: rY = (sin (0.9 * frame) * Angle) + 330

Step 3 – Wipe Angle (Defining Coverage Area)

Now we will set/determine angle for Wipers windscreen coverage, Enter “60” in equation.

Windshield Wipers expression before step 3: rY = (sin (0.9 * frame) * Angle) + 330

Rigging Wipers

Windshield Wipers expression after step 3: rY = (sin (0.9 * frame) * 60) + 330

Step 4 – Adding custom Wipers control attributes (Wipers Speed & Switch)

In order to effectively control the Wipers we will need two additional attributes. “Wipers_Speed” and “Wipers_Switch” (“Wipers_On_Off”).

Select “Reliant_Controls” curve, go to -> Modify -> Add Attribute

Rigging Wipers

Rigging Wipers

Add “Wipers_Speed” attribute, minimum “1”, maximum “3”, default “1”

Add “Wipers_On_Off” attribute, minimum “0”, maximum “1”, default “0”
Wipers_on_off=Wipers_Switch has Numeric Values 1 or 0
Wipers_speed has Numeric Values 1,2 or 3

Expression before Step 4: rY = (sin (0.9 * frame) * 60) + 330

Add “Wipers_On_Off” attribute to our expression
rY = Wipers_On_Off*(sin (0.9 * frame * 60) + 330)
Add “Wipers_Speed” attribute to expression

rY = Wipers_On_Off *(sin (0.9 * frame * (Wipers_Speed)* 60) + 330)

Open up Attribute Editor, Hold down “CTRL” & hit “A” or go to –>Window–>Attribute Editor.
Check the names for our groups.

Rename “rY” –> “WWiperLeft1|BladeGroup.rotateY”
Rename “Wipers_Speed” –> “Reliant_Controls.Wipers_Speed”
Rename “Wipers_On_Off” –> “Reliant_Controls.Wipers_On_Off”

Divide “frame” by 5

Our Expression for Left WindScreen Wiper:

WWiperLeft1|BladeGroup.rotateY=(Reliant_Controls.Wipers_On_Off*(sin(0.9* frame/5*(Reliant_Controls.Wipers_Speed))*60)+330);

Our Expression for Right WindScreen Wiper:

WWiperRight|BladeGroup.rotateY=(Reliant_Controls.Wipers_On_Off*(sin(0.9* frame/5*(Reliant_Controls.Wipers_Speed))*60)+330);

Select “Wipers_Group” in Outliner, right click on “Rotate Y” attribute in Attribute Editor, go to -> Editors -> Expressions… and copy/paste:

WWiperLeft1|BladeGroup.rotateY=(Reliant_Controls.Wipers_On_Off*(sin(0.9* frame/5*(Reliant_Controls.Wipers_Speed))*60)+330);
WWiperRight|BladeGroup.rotateY=(Reliant_Controls.Wipers_On_Off*(sin(0.9* frame/5*(Reliant_Controls.Wipers_Speed))*60)+330);

Windshield Wipers Rig

Click to Enlarge

Click “Edit”

Step 5 – Set Driven Key for Windshiled Wipers Switch

Select Wipers Switch

Maya, Rig Wipers

Lock everything except rotate X attribute

Rigging Windscreen Wipers

Click to Enlarge

Go to Attribute Editor, press CTRL+A, under Limit Information -> Rotate
enter for X min. “-30” and for X max. “0”

Go to Animation Menu -> Animate -> Set Driven Key -> Set

as “Driver” load “Reliant.Controls” Wipers_On_Off attribute
as “Driven” load “Wipers_Switch” rotate X attribute

Rigging Wipers

Click to Enlarge

For “Wipers_On_Off” = 0, “Wipers_Switch.RotateX” = -30, Click “Key”
For “Wipers_On_Off” = 1, “Wipers_Switch.RotateX” = 0, Click “Key”

That’s all Folks. Press/Move Switch and Wipers will be On or Off, change wipers speed in ”Reliant_Control”… and don’t forget to press “Play”
And that concludes this chapter, I hope you enjoyed it!

External Link:

Click for PDF Version – Chapter 12

To Be Continued …

Rigging Wheels
Rigging Wheels

  1. this was best for me


    I came across a lot of things which I was unknown

    thanks a lot

  2. where’s part 9,10 and eleven? need this part to continue..
    Thank you for the usefull tutorial

  3. great but… 9, 10, 11???

  4. Thanks for the gr8 tutorial.. I have done with lot of ideas for perfect wiper. Here I found the perfect formula.

  5. inderjit singh

    how can i continue wheel rigging . plz upload 8 9 10 11 part

  6. спасибо, Thanks

  1. Pingback: Advanced Car Rigging in Maya – Chapter 16, Drift Control « 3d Studio UK

  2. Pingback: VEHICLE RIG – 3D RIGGING SYSTEMS UPDATE | Alex Downham 3D Game Art

  3. Pingback: Scripting & Dynamics -Coursework feedback week | albertotaiuti

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: