navigate site menu

Start learning with our library of video tutorials taught by experts. Get started

Vehicle Rigging in Maya

Vehicle Rigging in Maya

with Adam Crespi

 


Learn to rig a car model in Autodesk Maya for use in animation, games, design visualization, and visual effects. Author Adam Crespi starts with an overview of parenting and hierarchy, moving into separating the model into working components. From there, you'll learn about creating controllers, constructing functioning wheel assemblies, and constraining the suspension. Expressions are used to tie the rig components together and add a degree of autonomous motion and rotation. Last, a bonus chapter on materials shows how to add realistic shaders onto the car and tie the controls to functionality such as operable headlights and taillights.

Note: Some experience with polygonal modeling in Maya and beginning knowledge of rigging and constraints will help you get the most from this course.
Topics include:
  • Opening and accessing the model
  • Scaling a model uniformly
  • Creating and cloning controllers
  • Parenting the tires and hubs
  • Controlling the suspension
  • Stitching the rig together
  • Writing expressions for the wheels, steering, and body
  • Adding brake lights and turn signal controls
  • Creating chrome, rubber, and glass shaders
  • Applying interior finishes

show more

author
Adam Crespi
subject
3D + Animation, Animation, Game Design, Projects, Visual Effects
software
Maya 2014
level
Intermediate
duration
3h 38m
released
Jul 22, 2013

Share this course

Ready to join? get started


Keep up with news, tips, and latest courses.

submit Course details submit clicked more info

Please wait...

Search the closed captioning text for this course by entering the keyword you’d like to search, or browse the closed captioning text by selecting the chapter name below and choosing the video title you’d like to review.



Introduction
Welcome
00:00 Hi, I'm Adam Crespi, and welcome to Vehicle Rigging in Maya.
00:08 In this course, we'll look at constructing a rig for a car.
00:11 We'll start out by getting the model in shape, checking for any geometry issues,
00:16 and making sure everything is scaled to the right size, and right place.
00:20 I'll show you how to do this by importing references using the Free Transforms tool,
00:25 then I'll show you how to use the align tool to get controllers you created on the
00:30 right parts of the car. I'll show you how to add non-linear squash
00:33 deformers on the tires so they squeeze down onto the road correctly, and the
00:38 right parenting order for the tires and wheel assemblies.
00:41 We'll see how to create steering and master car controllers, and put extra
00:46 attributes on so we have control over the headlights, tail lights and running lamps
00:50 and turn signals. We'll be covering all these features, plus
00:53 plenty of other tools and techniques. Now let's get started with vehicle rigging
00:57 in Maya.
00:58
Collapse this transcript
What you should know before watching this course
00:00 This is an intermediate course. You should have a good working knowledge
00:03 of modeling, and generally using, and navigating the user interface in Maya.
00:09 If you're not familiar with Maya, check out the Maya Essentials series with George Maestri.
00:13 You may also want to watch Modeling Vehicles in Maya with Ryan Kittleson.
00:19 This course will give you a better understanding of creating the model we're
00:22 using in the rig. So feel free to explore these courses and
00:26 more on lynda.com.
00:28
Collapse this transcript
Using the exercise files
00:00 If you're a premium member of lynda.com, you have access to the exercise files used
00:04 throughout this title. The exercise files are organized by
00:08 chapter, with each chapter being a Maya project.
00:11 Chapter 1 has an additional folder called Cobra that has the end files from Ryan
00:16 Kittleson's Modeling Vehicles in Maya course as we'll be using that car to rig here.
00:22 These are all the default directories in the Maya project.
00:24 So make sure you set your project before opening the scene.
00:28 Here in Maya, once you open the program choose File > Set project.
00:34 In the Project Window, browse to the Exercise Files folder, and double click on
00:39 the first chapter. Click Set to set the project, then open
00:44 the scene choosing File > Open. In the scene's directory you'll see start
00:48 and end states for each exercise. I provided these so you can check at the
00:52 end to make sure your work is correct. You may see the occasional warning about a
01:02 camera, and it's a function of the import in.
01:05 Don't be alarmed by it sometimes we'll see this importing back and forth between scenes.
01:10 Additionally here's some common workflow in Maya for speed.
01:13 First I'll press Ctrl+Spacebar to maximize the UI.
01:18 This way I can have the biggest window possible to view the car.
01:21 Ctrl+Spacebar will bring it back. I'll also use my hot box extensively,
01:26 pressing and holding the spacebar. If you like click on hot box controls and,
01:31 for example, show polygons, polygons only. This restricts the hotbox down to that
01:37 module making it easier to view. I'll use marketing menus, Shift and Right
01:42 Click, for example, to pull up a polygon primitive creation.
01:46 Or with an object selected, Ctrl and Right-Click for selection, or Shift and
01:51 Right-Click for polygon modeling. If you're working full screen, you can
01:57 press and hold the space bar for the hot box, and click on the space to the right
02:01 of maya to bring back your UI elements. For example, the status line, so we can
02:05 get to the menu line input and rendering buttons.
02:08 Ctrl+A brings back and forth the attributes and channel box, so we can
02:11 access either channels for multiple objects or one object at a time.
02:16 If you're a monthly member or annual member of Lynda.com, you don't have access
02:20 to the exercise files, but you can follow along from scratch with your own assets.
02:24 Let's get started with vehicle rigging in Maya.
02:26
Collapse this transcript
1. Sizing and Zeroing the Model
Opening and assessing the model
00:00 In this video I'll open up the Shelby Cobra model from Ryan Kittleson's,
00:04 Modelling a Vehicle in Maya. When you're taking in a care model, it may
00:08 be from a variety of sources and it's always important to open it and access
00:12 what's going on before you start rigging. First, I'll set my project choosing File
00:17 and Set Project. Right now, Maya is using my default
00:21 project I browsed over in the Exercise Files to Chapter 1, and in there are
00:29 project folders I've created using the Project Window.
00:32 There's an extra folder in here called Cobra, and in there are the folders and
00:37 subfolders that contain the reference objects for this car.
00:40 I'll click Set, and now, I'll open up the scene, pressing Ctrl+O or clicking on the
00:46 Open button. Maya looks to the default scene's
00:48 directory in that project. I'll browse up to my Cobra directory and
00:53 into the car directory from there. Finally, I'll go into finished and pick
00:57 car, the Maya binary. I'll click Open, and what Maya says is
01:02 it's looking for a reference file that may be in a different directory that it can't find.
01:07 I'll check Remember these settings. So I keep going back to the same place and
01:11 then browse for the wheel Maya binary at the moment.
01:15 I'll browse into the Cobra directory and into the wheel directory and finally pick wheel.
01:20 I'll open it and continue through with the rest of the missing pieces until all the
01:25 references are found. Once my car is opened, I can see the full
01:30 car, and I have an error line down in the bottom.
01:32 What this says is Maya can't find the blueprint PNG that was used in the modeling.
01:37 I can ignore that or put it in my Source Images directory in my project and browse
01:42 to it if I need. As the model is done, I don't need that
01:45 blueprint anymore. I'll maximize my view by tapping the space bar.
01:50 And now, I'll look at the model. The first thing to do with a car model is
01:53 to just look it over and see if there's anything obviously missing or flipped, or
01:58 needing some attention. I'll spin around the car, and it looks
02:02 pretty good. Everything is rendering as smooth or
02:06 shading correctly. I can see in here that I may need some
02:10 extra geometry in the wheel wells, as I'm seeing through the back of the fender here
02:14 and into the front and the door. That's one to make a note of and send back
02:19 to the modeling team. We can always parent and extra object onto
02:23 our body controller or something else and fix that at a later point.
02:28 I'll turn on Shading and Backface Culling and make sure that things are also facing
02:33 out the right way. It looks like in the interior, we're
02:36 missing some of the panels here up by the gas pedal.
02:39 Again, it's not a big deal to go back at any point and fix these normals.
02:43 But we do need to be aware of it before we hit a render.
02:45 What I'm seeing in the scene here, as I'll scroll out and show, are image planes from
02:50 the modeling process. There's one off to the side and two here
02:54 that oppose, front and back views. I've also got some locator objects for
02:59 things like the exhaust pipes. These were used for aligning this in an
03:04 odd angle, as they sort of come out from the bottom of the car, and it's probably
03:07 easier to model them straight up and down. I've also got locators here on the
03:11 windshield wipers for the same reason. It was easier to model them straight up
03:15 and down and use that locator to align them on their pivot to the angle of the
03:20 windshield of this car. I'll do a little clean-up, first, going in
03:25 and taking out the image planes. I'll open my Outliner to do this pressing
03:29 space bar for the hot box and choosing window, out liner.
03:32 What I can see here is I have a lot of nested objects and parented transforms and things.
03:39 I'll pick one of these image planes and see what it selects and where it goes.
03:45 Here's my front and back image plane, and it says that it's got an unknown reference
03:49 node for the parent. Again, that's okay, as I simply need to
03:53 know that this is part of the modeling and I don't need it.
03:56 I can also see over on the right side that it's black in the sample where it's still
03:59 looking for that PNG. I'm going to pick this image plane and
04:03 delete it. I'll open up the others and do the same,
04:07 starting with the lowest level transform, and taking out the pieces.
04:12 It's worth a little bit of time to get in there and take them out properly in a
04:16 quick assessment here in the Outliner, I can also see I have some groups, and so I
04:20 need to be aware of what in here is grouped.
04:22 My polySurfaces, which could be any number of things.
04:27 It looks like these are the taillight trims and other pieces there.
04:34 Now, I'll get the reference objects in. I'll choose File and Reference Editor.
04:38 Those are the reference objects, and they're all loaded correctly.
04:44 What I'll do is import them in, and that way, I've got everything in one scene for
04:47 my rig. I'll click and drag down this list to
04:50 select them all, and choose File and Import Objects From Reference.
04:55 Now the references are imported correctly in the scene, and I can continue with my
04:59 clean up. What I need to look at, are things that
05:02 are parented or otherwise to a locator, such as the exhaust pipes.
05:07 Well, we can see here when I select this, is that selecting locator grabs the whole
05:11 exhaust and pipe system, here. But when I click on one sections of it,
05:15 it's available as a single object. I'll unparent these by pressing Shift+P,
05:21 picking one and then the other. It looks like it can't assign it to an
05:25 initial shading group is the error down there.
05:27 So it's worth a check in the Outliner as to what's going on.
05:35 It's part of a group and what we can see here is the exhaust reference and finally
05:41 that object. I'll select this and choose Edit > Ungroup.
05:48 Looks like it's not able to ungroup it, and that's okay.
05:51 What that's really saying, and I can tell here by trying to ungroup and getting an
05:55 error, and also here in the hierarchy, is that this object is parented to that
06:00 locator, which is actually governed by the transform of Group 4.
06:05 I'll pick my poly surface for the exhaust and hit Shift+P to unparent.
06:11 Alternately, I can simply drag it out. If that's not working, we can also take it
06:20 out of the group and delete the history by pressing Shift+Alt+D.
06:26 I'll unparent as I go, and that seems to work.
06:29 What's important to know in this is that as part of the modeling process, we may
06:34 get some nested objects, and that's perfectly fine.
06:36 We may get cars that were the result of scams or manufactured data, even
06:40 translated from another program with different up axes.
06:44 And as long we're aware that things may be nested and we need to deal with that we
06:49 can and it's okay to have some trial and error in finding out what's nested in here.
06:55 Now, with that object unparented, I can see if I can unparent the exhaust and it works.
07:02 Down at the bottom, I get Result: exhaustpolysurface.
07:06 The final test then is if I can delete the Locator and the Exhaust stays, I'm in good shape.
07:11 I'll work my way around the rest of the car on parenting and getting everything
07:15 single and isolated. Before I deal with the other exhaust
07:20 though, I want to look at the tires as we'll need those later.
07:23 Right now, picking one tire actually picks all four.
07:26 And I'd like to have them independent so when I put a free form deformation on them
07:30 to squish them down to road I can do it independently.
07:34 When I rotate one tire here, as an example, it looks like they all rotate,
07:38 although, they may go forwards and backwards depending on how they were mirrored.
07:42 Again, this is the function of the modeling process.
07:45 And as long as we're aware of it we can take care of that.
07:47 I'll proceed with the unparenting, ungrouping, and see if I can clean this up
07:53 a little bit. So what I end up with are all world level,
07:57 unique objects that later I can parent and group as I need.
08:02 I've done some unparenting and ungrouping and I'm ready to look at the wheels.
08:06 Each wheel has a locator on it. And again, this is fine for aligning in
08:09 the model, but we're going to seperate these pieces out for the rig.
08:13 And so we need to have them a little more unique and not looking to one object for
08:17 their transforms. What I'll do, then is to pick the tires
08:21 and press Shift+P. I'll pick the hubs and unparent them.
08:25 And finally, the centers, lugs and other pieces.
08:32 As long as it says result down at the bottom with its own transform, I'm in good shape.
08:37 And a way to test this is to pick a locator up front and look at it in the outliner.
08:45 It looks like the locator called Wheel3 three is now unique.
08:48 There's no plus next to it, meaning that there's nothing parented to it or
08:52 dependent on it. I can delete it, and there's my wheel.
08:57 At some point along here, I also need to mirror the exhaust over.
09:02 Something in the parenting and referencing caused it to lose the left side and we can
09:06 deal with that quite easily. We can even use the center line of the car
09:09 for our mirror. I'll make sure the rest of my wheels are
09:13 unparented first. I may have to go through and do these
09:16 uniquely, and that's okay because we want these pieces to all be unique so that we
09:20 control each individually when it's time to animate it.
09:29 I've unparented the tires so that when I pick the tires, they're one object wheel
09:34 polySurface and I can extract these later. The hubs are unique, and again, I can
09:39 extract them. There's nothing in here that is governing
09:42 all four wheels. They're simply objects ready to be extracted.
09:46 Now, I'll take care of that exhaust. It's here as unique objects on the right side.
09:51 And we need to mirror this over. I've pressed Q for selection and I'll pick
09:55 both parts of the exhaust. When I press W for move for example, we
10:00 can see it's transform is somewhere in the exhaust here.
10:03 What I'll do is turn on wire frame on shaded, and that way I've got a center
10:07 line on the car to snap to. I'll press, v and d, v for snap, and d for
10:13 enter edit mode, or move the pivot. I'll snap the pivot of both objects.
10:17 Right now showing as the two yellow circles right here onto the center line of
10:21 the car Making sure in the top view that I am actually on the center when I snap.
10:27 There's enough geometry here that we can accidentally miss when we're trying this.
10:32 Now that I've got it here on the center, I can either mirror this or scale it.
10:38 If your scale is a negative one, just watch for flip normal.
10:41 Mirroring works very nicely and we can choose Mesh and Mirror geometry.
10:48 There's my mirror and I'll see if it's in the right place.
10:51 Here's my poly mirror and there's a direction to it and an axis to pay
11:00 attention to. Right now it looks like it went on the
11:03 positive x and I need to change this around to get it in the right place.
11:07 When I flip that over and go underneath the car I can see which way it needs to go.
11:14 It's also only affecting one object and so I need to make sure that I'm looking at
11:19 the right part. There's this mirrored piece and I can pick
11:22 polymirror object and move it if I need. If a mirror geometry isn't working for
11:32 you, you can also try scaling by negative 1.
11:36 I'll pick these elements here, and I may even be able to combine them as they
11:40 should all be chrome. We can live them separate if we need or
11:43 stick them together. We need to look at if these are smooth
11:47 before we combine. I'll make sure I select it and press 1.
11:51 And it looks like this is a smooth object. I'll do the same with this back and try a
11:57 quick experiment combining. If I pick both and on my hot box choose
12:02 Mesh > Combine, and then Hit 3, they seem to look okay, and I've got my exhaust system.
12:08 Now, I've got one object that I can mirror a lot more cleanly.
12:12 I'll get the pivot in the right place. When we combine objects, the pivot returns
12:16 to 0, 0. On my hotbox, I'll choose Modify > Center
12:21 Pivot, this way I can find it. And now, I'll take that pivot and in a top
12:26 view, put it on the center line of the car.
12:29 If it's easier to change to a wire frame, you can do that, or stay in shaded and
12:33 turn on wireframe on shaded. I'll hold V and D to move that pivot.
12:37 And put that center right on the center here.
12:41 Now I should be able to mirror this by using a negative one on the x scale.
12:45 And get the mirror into the right place. I'll spin underneath so I can see it and
12:51 turn off the grid, pr Ctr+D and try a negative 1 mirror.
12:58 I'll make sure that I use the Relative Transform and put this in to get my
13:03 exhaust system. It's much better.
13:05 Sometimes, we end up with some oddness in trying to mirror things.
13:10 We see this a lot in models that have been maybe mirrored and cloned or cloned,
13:15 mirrored, scaled, flipped, that sort of thing.
13:17 All we need to do is respect the transforms and see where it is.
13:20 And make sure we're mirroring correctly. Now it looks like I do have an extra
13:24 exhaust system from some trial and error here sticking out of the hood.
13:28 So I'll pick that one piece and delete it, and just verify my objects are in the
13:32 right place. This kind of a thing is perfectly normal
13:36 in cleaning up any model. You may have one standard for modeling
13:39 that somebody else is not running by, that is, they're doing a perfectly fine job,
13:44 but they have a different method of organizing or cloning or mirroring, and as
13:48 long as you're aware of it, you can take it into account.
13:51 Now that we've got it, we can parent all these things to a body controller so that
13:55 when the body rocks and leans, the exhaust goes with it properly.
13:59 We need to finish looking over the car, making sure that all our pieces are unparented.
14:05 If anything disappears and needs a mirroring, we can do that.
14:08 And everything has history deleted, that way it's a clean model, ready to go for a
14:13 rig and then we'll get into scaling it. I've gone through and finished the
14:18 unparenting and occasionally cloned an object if the mirror disappeared as part
14:23 of that, making sure I've got unique objects all around, and ready to rig.
14:27 I've left in three of the locators because they'll be useful in rigging, and they're
14:31 simple enough that I can use them for one rotation.
14:33 The windshield wipers each have their own locator.
14:37 These locators are set up in the center and they're already at the right angle to
14:41 make the windshield wipers sweep across the windshield.
14:44 As it's one object parented to that locator, I can leave it in and just rotate
14:48 the locator if I need. I've also done that with the steering wheel.
14:52 As we zoom in, we can see that the steering wheel on, on it's locator on the shaft.
14:58 And so just rotating the locator makes the whole thing steer appropriately.
15:03 I've got some other pieces in here for the seats it looks like.
15:06 And again I can check over and make sure everything is un parented.
15:10 This should do pretty nicely, and I've made some notes on things that are
15:14 missing, or normals that need to be flipped back.
15:18 I can take care of these whenever I need, as I can always return to the, skin pose,
15:22 or starting rig place of the car if I need to add other objects in or fix things.
15:29 Now, I need to worry about scale. I'll make sure that it's the right size,
15:34 that way when I animate the car in a real size scene, the motion blur works
15:39 correctly for composting, that the wheels spin and blur and even burnout when needed.
15:44 I'll save my scene in the Scenes Folder and we'll get going making sure the scale
15:48 is correct.
15:49
Collapse this transcript
Scaling a model uniformly
00:00 Now that I've gotten the car unparented and all unique and in the scene and ready
00:05 for scale, I'm ready to make a box and scale it.
00:08 Now, you may look at me and go "Wait a sec, what does he mean make a box and
00:12 scale it?" Well, here's why. Everything in here is unique now.
00:16 The wheels can be extracted, but they are unique objects from their hubs and lugs
00:21 and so forth. The exhausts are unique.
00:24 What we need to do to scale a car is to parent it to one master object, and then
00:28 scale the master. Here's why, I'm going to measure out the
00:32 car in this scene, and make sure we're working at the right size.
00:35 There's a good chance when we get a car in, although the car looks correct, and
00:39 everything is the right proportion It may not be the right size in real world units
00:43 so it's important to verify that. So that when we animate the car at real
00:48 speed on a real road, we're moving the correct distance overtime and our wheels
00:53 are spinning correctly. To give us the correct motion blur.
00:55 This car is 156 inches long. So what I'll do is make sure my units are
01:00 in inches in my preferences. And then use a poly plain to measure the
01:04 car and see if I need to scale it. I'll choose Window > Settings Preferences
01:09 > Preferences. And going to the settings section my
01:13 linear units here in centimeters. I'm going to switch over to inches
01:17 although if you'd like to stay in metrics you can, and make an equivalent measurement.
01:23 Now I'll go into side view. On my hot box, choosing Maya, and Right or
01:28 Left View. I'll Zoom out and use a Polyplane to measure.
01:32 I'll do this a lot, because I can snap a poly plane using points snap to other
01:37 objects, holding Shift and Right Clicking. I'll choose polyplane and make sure that
01:41 my interactive creation is on. I'll land the polyplane on the front
01:45 holding V for snap, and snapping right on that front grill,and all the way back to
01:51 the back bumper. Then I'll look at the polyplane 1
01:54 attributes and I can see that this car in inches is 6.029" long Again, that's okay.
02:00 We modeled based on image planes and everything is the correct proportion and
02:04 placement, it's just a matter of scale. What I'll do then is pull up my calculator
02:09 and divide 156 inches by 6.029. That'll give me the correct scale factor
02:15 when I scale the whole car. I can delete this polyplane, as it's not
02:19 going to be needed beyond taking a measurement.
02:23 Here in my calculator, I'll take 156 divided by 6.029.
02:31 This gives me a scale factor of 25.875. That's good enough to get it right on.
02:36 I'll remember that number 25.875 and go back into Maya for parenting and scaling.
02:43 I'll make a poly cube or other object off to the side holding Shift + right clicking
02:50 and choosing Poly Cube. I'll land a poly cube here and then select
02:54 the whole car. With everything un-parented, so that my
02:58 outliner is actually quite long. I should be able to parent this car to
03:02 that cube and scale it. If anything expands out beyond the car, I
03:06 still have some un-parenting work to do. So be mindful of that.
03:10 Being thorough in your collection and un-parenting.
03:12 Getting the car ready for scaling. Now with the car selected, I'll hold Shift
03:17 and pick that polycube and press P for Parent.
03:21 As a quick test, picking the polycube and scaling it produces one-car-on-one-cube
03:27 scaling, with everything in the car staying in the same relative place to
03:31 itself and each other and just scaling, so I get a bigger car.
03:36 If anything is to shoot out of the car, or doubly enlarge, that's where I need to do
03:41 some more unparenting. With my cube selected, then, I can put my
03:47 scale factor up here in the menu light input.
03:50 I'm using the relative transform so that I can put in an offset here.
03:54 I'll put in 25.875 on the x y and z fields.
04:04 When I hit enter the car should scale up. And in fact it may get very big in the view.
04:10 I might even need to pick my cameras and move them back, and here's why.
04:14 We can see in here a little bit of artifacting and triangulation to
04:18 perspective view. My perspective, it looks like, is far
04:21 enough back and I can pick my camera and check its clipping planes to get rid of
04:26 the triangulation. I'll put the Near Clip Plane at 0.1 so
04:29 that Maya can draw it correctly. And that little blip at the bottom of the
04:33 door is actually an indication of the car drawing correctly in the graphics card.
04:37 A front or a side view shows me a different story.
04:40 Going into a right view for example, and pressing F to focus, may not show a car at all.
04:45 Here's why. If I go back to my prespective or top view
04:49 and press w to move, and I'll go in and pick that camera, it may actually be
04:54 embedded in the car, or out beyond this box.
04:57 On my outliner then. I'll go under Show and distill down
05:02 choosing Objects and Cameras to filter. I'll pick my side camera and press w for
05:09 move, press f to focus and see where it is.
05:12 That side camera is way out here and it might be facing away.
05:18 What I'll do is set that near clip plain to 0.1 and also scroll down in the camera
05:24 down to the object display. There is a locator scale for the camera
05:28 and this is the drawn size of the icon and the view not the physical scale.
05:32 We never want to scale a camera because it effects our view by changing the locator
05:37 scale so lets say 200, let's just see that camera.
05:41 We can also make sure we choose Show and Cameras, so they're visible.
05:46 And there's that side camera. And what it looks like here is that clip
05:49 plane may be a little off. I'll go up and put that far clip back and
05:54 to 10,000 let's say, or maybe even 100,000.
05:58 This way I'm guaranteed that when I go into my view here, choosing "Orthographic"
06:02 and "Side" for example, pressing F to focus I should see the car.
06:06 Sometimes what we have to do is just simply move our cameras out.
06:09 We can do this with a front view or top if we need, although they looked okay.
06:13 Now I'm going to remeasure the car, holding Shift and right-clicking, choosing
06:17 Poly Plane, V for snap. And snapping a poly plane right over the car.
06:23 When I check the Poly Plane 1 attributes, I'm at 155.999, which is just about close
06:27 enough to 156, that I'm on. My car is all the right size.
06:36 I'll delete this. Select all of the car but not the poly
06:39 cube, and press Shift + P to unparent. Now I should be able to select the cube
06:45 uniquely and delete it, and I'm ready to get in there and start setting the wheel
06:49 pivots so that they spin correctly.
06:51
Collapse this transcript
Separating and naming wheels
00:00 With my car scaled to the right size I'm ready to get the pivots in place for the wheels.
00:04 What I need for tires and wheels and hubs and so forth is to have them all be unique.
00:10 I want the ability to take one wheel and spin it.
00:14 And for the steering wheels in front roll on the road one rotation and turn steering another.
00:20 I need to make these wheels unique objects instead of instances.
00:24 We can tell that they're instanced because when I select one, over here in the
00:28 Attribute editor, I have clean attributes, a transform node, surface or shape, a
00:34 material and it looks like another material, maybe a tire.
00:37 What this tells me, by doing that and selecting all of them because these are
00:42 instanced objects. And the other way I can tell is to press
00:45 F11 for face and pick what I think is one set of faces.
00:49 What I see then is by selecting one set of faces here on the rear I get the same
00:53 selection on the front, meaning these are instanced objects.
00:57 I need to have them be uniquely named objects so I can control the rotation, uniquely.
01:02 And I can also have unique wheels, or tires, squish when they roll over unique
01:07 bumps in the road. So I'm going to do a little clean-up here
01:10 on the wheels. I'm going to give myself some construction
01:13 objects along the way. So I've got points to snap to.
01:17 Temporarily, I'll pick everything but the title and choose Display > Hide > Hide
01:23 Unselected Objects. Here's my front tire.
01:28 And what I'm going to do is to simply snap a poly plane or something similar over it.
01:33 I'll put a polyplane in place making sure in the polyplane attributes that it's, I
01:38 don't know, something square. 20 by 20 seems to work.
01:41 I'll put my subdivisions width and height at 2 by 2, so that I have a center point
01:46 and now I'll align it to the tire, choosing Modify > Align Tool.
01:49 I'll align in the center and center. So now what I've got is a polyplane that's
01:54 a unique separate object. Center on that tire.
01:59 I'll take this poly-plane. Press F to zoom in on it, or focus and
02:04 align it, making sure I show the rest of the car, so I can see where I am.
02:08 With my poly-plane selected, maybe in a front view for example, I'm going to snap
02:15 it to the outside of the tire. The reason I'm doing this is just to give
02:19 myself a construction object, because I may end up doing some deleting and
02:23 replicating to get it ironed out. So there's that poly-plane right on the outside.
02:28 I'll duplicate it across to the other side.
02:30 Pressing control D to duplicate, V for snap, and snapping it over.
02:38 I'll take this and snap it to the rear as well, pressing control d and cloning and
02:44 snapping to the back. Using my align tool again and aligning to
02:49 the center of the back wheel. Now as reference objects, I've got four
02:54 poly planes. Later I'll delete them, but I've
02:56 established a clean center point. What we'll see here, sometimes, is when we
03:00 convert instances to objects, we need to do some duplication.
03:03 And as part of that duplication for my wheels in setting the pivots, I need to
03:07 get the names ironed out. I want to name everything as uniquely as possible.
03:12 Frankly, looking through polysurface 1 through 100 can be a little bit confusing.
03:17 Especially in a script, or an expression when we're trying to find a main node.
03:21 Now take care of the wheels. I'm going to pick my wheels here, and
03:26 choose Modify > Convert > Instance to Object.
03:31 It looks like now, I have one tire. What it's saying, really, is that these
03:35 three objects were instances of this one. So I'm going to show the one.
03:39 I'll do the same with the rims in the back.
03:41 Again choosing Modify > Convert > Instance to objects.
03:46 And now look at the Spoke. The ornaments on the center of the wheel.
03:49 And finally the hub objects in the middle. Now I've got my four wheel parts, but
04:03 they're a little bit separated. I'll select them and hide my unselected
04:07 objects so I can see what I'm doing. There's my wheel elements.
04:15 Here's the tire, spokes, hub, and rim. I'll take the rim and the tire, and on my
04:25 hot box, choose Modify Align tool and align them together.
04:28 I'll check in a shaded view by pressing five, and making sure that everything's in
04:33 the right place. It looks like my tire assembly is in good shape.
04:37 And now I'm ready to clone it after I name it.
04:40 I'll name things here, this is the front left tire and so in the transform note
04:44 I'll call it tire fl. You can use whatever naming convention you
04:50 like as long as it's consistent so that when we're doing things in the Expression
04:53 Editor, we can find them cleanly and uniquely.
04:58 This will be rim front left. Spokes front left.
05:09 And finally hub front left. Now for the cloning.
05:17 I'll show it was last hiden. And I'm ready to get in here.
05:21 I'll pick my tire, my rim, my spokes and my hub.
05:27 I'll pick my planes, and hide the unselected.
05:38 And for cloning then, I can pick everything here but the plane and clone it.
05:44 Selecting, pressing V and D to move the pivot.
05:49 And I'm going to make sure with all these objects, pivot is actually in the center.
05:53 Now if I get in here and chose modify, center pivot.
05:57 It's going to work for most of them, except for the spokes.
06:01 We'll look at it in the right view here. The tire thinks its center is in the
06:05 center, the hub and rim are good, but the spokes is, well, it's a little offset.
06:10 What happened? This is a three bladed object.
06:13 Which means that it's not a square if we draw a bounding box around.
06:17 It's a rectangle. And so the center is in the center of it's volume.
06:21 Which is not in the center of the car tire like we want.
06:25 So i'll press V and D to move the pivot. And put it right here centered on the car.
06:30 Now I'm going to take that whole tire assembly, but not my planes.
06:35 Press Control D to duplicate, V for move and I am going to snap it over onto my
06:41 other reference plains, this is in the right place and now I can clone them side
06:47 to side. I will make sure I name these at some
06:49 point either selecting and cloning and coming back to name or naming and then
06:54 cloning again. Now this round, what I'm going to do is
06:58 duplicate by pressing Ctrl + D, move and pull them off, E to rotate, and I'll press
07:05 and hold E and left click and hold to turn on discrete rotate if it's not already on,
07:09 and I'll spin these around on the Y axis by one hundred and eighty Now I'll move
07:16 them over. Sliding them in, and going into a front
07:19 view to check. Pressing F to focus, and V and D to move
07:25 the pivot, taking all the pivots and snapping them forward, and then snapping
07:29 on the x axis up to my plane. I'll make sure I check in a shaded view.
07:34 That all the wheel components are in the right place.
07:37 And it looks like I got a little off there.
07:39 I need to make sure that, as part of this move, everything ends up where it's
07:43 supposed to. I'll go through here hiding this plane by
07:48 pressing Ctrl + H and moving and aligning and snapping pieces.
07:51 And I'll what it looks like when I'm done. I've cloned my wheels.
07:56 I put the centers in the right place. And I've named them.
08:00 There's collections here for front left, rear left, front right, rear right.
08:05 And everything in there is named, so I can find it, uniquely, if I need.
08:10 I've hidden my planes. And now I'll show everything, again, by
08:13 choosing Display > Show > Show Geometry > Polygon Surfaces.
08:18 And there's my car. And now I can take these centering planes
08:21 out if I need, or put them on a layer and delete them.
08:24 It's really up to you, as they're just construction objects.
08:27 The important part is part of this setting the wheels in place is that I've got
08:31 unique wheels with unique names that I can identify and attach uniquely to free-form
08:37 defermation boxes. Or locators for the steering.
08:40 Now, I'll get the pivots in place and start the parenting on the wheels.
08:46
Collapse this transcript
Setting wheel pivots
00:00 With my wheels separated and named, I'm ready to get all their pivots in the right place.
00:05 I can either use my existing planes I had used for construction objects or simply
00:10 refer to the tires or hubs which have vertices on the cardinal points for
00:14 getting the pivots in the right area. I'll work one wheel at a time.
00:19 I'll zoom in and select, let's say, the front right components here.
00:23 Making sure I don't have anything else selected.
00:26 And choosing Display, Hide, Hide on Selected Objects, or Show, Isolate Select,
00:32 View Selected. Now with this one wheel on I'll go into a
00:37 left view and see what it looks like. Here's my wheel, but I may have some
00:43 oddness with the pivot. If I press d for enter edit mode and I
00:47 zoom in perhaps pressing 4 for a wire frame to see it easier.
00:51 I can see I have two pivots here. There's the one pivot surrounded by a
00:55 square, which is the pivot of most of the things.
00:57 And then the one offset pivot up here, which is part of this spoke arrangement.
01:02 What I'm going to do is hold v and d to move the pivot.
01:06 V to snapped points and D to enter Edit mode or move, and I'm going to snap both
01:12 objects' pivots on the center-point of the wheel.
01:15 Now I'll go in a top view and focus in by pressing F, and see where that landed.
01:21 It looks pretty good. I don't mind having the pivot here for
01:24 this particular wheel, as it's only governing the rotation and will be
01:28 parented to something else, but I like to have the pivots in the right place so that
01:33 there's no chance of wobbly wheels when animating the car.
01:37 When you're rigging a car, it's worth being a bit of a neat freak.
01:41 It's worth really watching out for where your pivots go early on, making sure that
01:45 everything is set. So if you have to take this tire for
01:48 example and spin it, pressing E to rotate and rotating around on the red x axis that
01:55 it revolves perfectly without wobbling. It's much easier to fix issues like this
02:00 now then to have compound issues in rotations once things get parented so I'd
02:05 rather take the time and go through it. I'll finish up the rest of the wheels and
02:10 just show what it looks like when I'm done.
02:13 I've made sure all the pivots are in the right place.
02:15 And what I should be able to do is a test here on the rig.
02:18 Just press e to rotate. Press E and Left Click and hold, and make
02:23 sure I'm rotating around the local axis. And rotate all the wheels and all the hub
02:28 and spoke and rim components on their x axis.
02:32 And see those wheels spin. This is a good test to do to make sure in
02:36 a car that before you get any controllers or parenting on, that if all the pivots
02:41 are in the right place for the wheels and you rotate them, the wheels roll straight
02:45 and aren't wobbly. That way we know that as we get further
02:48 along in the rig, we're not having to undo or find a way out of odd issues and pivots.
02:54 It's the first point of rigging, take care of your pivots and then do everything else.
03:00 Now with the pivots of the wheels in place, I'll do a last check on geometry
03:04 and see if there's anything else I need to fix before I start getting controllers on.
03:07
Collapse this transcript
Checking the model for geometry problems
00:00 With the wheels' pivots all in the right place, now is a good time to check for any
00:04 last easily fixable geometry issues. We know we need to have wheel wells made
00:10 and it does look like there's a vent missing here on the side.
00:12 Beyond some missing geometry or normals we need to flip, which we can take care of at
00:17 any point, we should look for anything in here that's a major modeling issue.
00:21 Just as a last check, before we get into more complex rigging.
00:25 Anything in here on the modeling side, that would effect the bounding box of an
00:29 object, for example. Or an odd mesh flow that would deform strangely.
00:33 It's important to do this, to give it one last check over.
00:36 To make sure that, as we're animating, there aren't built-in issues in here.
00:41 There's some different ways to do this. First a visual inspection.
00:46 I'll go and look at the tires, for example, and they're modeled with a
00:49 tremendous amount of detail, which is fantastic.
00:51 This way we can put a camera, this close for example.
00:55 See the reflection in the shiny paint and watch the treads go by in the tires.
00:59 This is a typical car shot, we'll call it, close up and seeing the steering and if
01:05 we're doing a bit of a burnout maybe a little smoke there.
01:08 I'll do a visual inspection and just look for any odd geometry I may have missed.
01:13 Any t's or poles, things that would cause odd smoothing.
01:18 Non-manifold geometry. I also want to look for overlapping faces,
01:23 and one way to tell is to simply pan around the model making sure that wire
01:27 frame unshaded is off. If you can pan around here and not see any
01:32 flickering, it's pretty good. It does look like I need to clone a door
01:37 and also some vents somewhere along here. But I can fix that easy enough just by
01:41 going in and mirroring. I'll fix the normals and make sure that
01:45 I've got outside surfaces to everything. I'm not worried about the materials yet,
01:50 but as long as they display properly, I'm in good shape.
01:55 What I can also do is get in and move things around as a way of checking geometry.
02:00 If I take this body and I pull it, do I see in moving the actual geometry versus
02:06 moving the view, any odd flickering? Even beyond simply moving it, switch over
02:12 to viewport 2.0, which is using the Maya hardware 2.0 renderer It's using DirectX
02:19 to render, essentially showing our light in a game-style way, we could call it, in
02:23 the view. Now with this object selected, if I pick
02:27 it and scroll up, do I see any odd flickering?
02:31 No, it looks pretty good. I do have some odd issues here with the
02:35 wheels, and it could be which way their normals are facing.
02:39 What we can do for things like this is 1. Use a double sided material or make sure
02:44 the object is double sided here in the render stats.
02:47 I typically don't want to do this, because that means I'm rendering both sides of
02:51 every polygon. So if I turn off double sided and make
02:55 sure under shading back face coding is on, I'm in good shape.
02:59 It's worth going through and checking like that.
03:02 One of the ways we can handle this is actually to select all of the car, choose
03:07 window, general editors, attribute spreadsheet, and in the attribute
03:12 spreadsheet go into the renderer tab. In Render, if you click double-sided and
03:19 press 0, you'll turn everything off. Now everything is single-sided.
03:23 So as long as it's modeled to face out, we should be in pretty good shape.
03:27 It's a handy switch here. 1 and 0 and off and on are the same.
03:30 It's a Boolean in the truest sense of it, just a choice between those.
03:35 And so by setting everything to a double-sided value of zero, we turn it off.
03:40 Now in Viewport 2.0 where it's respecting the backface culling, if I spin around I
03:47 can see if anything else needs attention. Aside from the door and vent I need to
03:52 close, it looks like I'm in pretty good shape.
03:55 I'm ready to get going with my controllers and my steering, getting the car actually
03:59 functioning together instead of as a series of, well, parts that are next to
04:03 each other looking like a car. So make sure that you check over your
04:06 models, looking for any geometry issues before they're rigged.
04:10 It's better to take the time to solve it now than have to go back into a rig, or
04:14 even worse an animated file, and try to fix things.
04:17
Collapse this transcript
2. Creating the Controllers
Creating and cloning wheel controllers
00:00 With the geometry of my car ready, scaled, fixed up, and ready to rig, I can start to
00:06 get my controller objects in place. I've got my tires, hubs, rims, and spokes
00:10 all unique and now I'm going to make unique wheel controllers to start the
00:14 rigging process on the wheels. Controllers for us, distill control down,
00:18 and here's why we need this. To pick and animate these wheels I have to
00:23 select four objects, assuming I can find them all in the view I'm in.
00:27 Then I've got to can key their rotation, clicking and dragging on an axis and
00:31 judging how much rotation I need over how many frames I'm doing.
00:36 It's fine for one wheel, but then I've got four wheels and I need them all to go
00:40 together, which gives me 16 objects to run around and select.
00:43 Then I've got the rest of the car. There's a body, the doors, the rivets, the
00:48 hood, the scoop, and so forth. All elegantly modeled as single pieces, as
00:52 they should be. What I want to do then, is distill the
00:54 control of multiple objects down to one object.
00:57 So that I can pick one unique named object in an expression or from maybe an oblique
01:04 or down on the road view, rock the whole car with one object versus having to pick everything.
01:10 I'll switch back to Default Quality Rendering here out of Viewport 2.0 and
01:14 make sure that my car is actually sitting down on a 0 plane to start.
01:18 What I like to do sometimes instead of turning on the grid is just use a poly
01:21 plane, and here's why: If I go into a "Right View" and turn on the grid, I have
01:27 a grey grid. And I can adjust the grid spacing.
01:29 But when I back out, I start to get greyer and greyer until my car disappears in a
01:35 fog, which is perhaps not optimal. A lot of times, what I'll do is a shortcut
01:40 then, to avoid actually the long way up to the buttons and turning off the grid, is
01:45 to hold shift and right-click, make a poly-plane, and put it underneath.
01:49 A poly-plane created in a perspective view is on the zero plane.
01:54 So now in my right view with no grid on obscuring the view, I can pick my whole
01:59 car but not my poly-plane. Press w for move and pull it up to sit on
02:04 the road. Now I'm not going to snap the pivots down
02:07 because I spent some time getting them correct on the wheels.
02:10 So I want to make sure that I get this down to the road without squishing the tires.
02:15 I'll turn on my Selection Lock Up at the top here on the UI.
02:19 And we can see that my y axis is highlighted here in yellow.
02:22 That means I'm only moving on that one direction.
02:25 But I can zoom in very close and click and drag to pull that tire up right onto the road.
02:32 We can get as close as we want in here, and this is pretty good.
02:35 We simply can't tell, any further, unless we're right under the tire.
02:39 Now I'll turn off the selection lock, and I'm ready to get some real controllers
02:43 into place. I'll delete this plane, and start to make
02:46 some nurb circles. I use node circles for a couple of reasons here.
02:50 One, their not renderable, unless we extrude a waft along them.
02:54 So I don't run a chance of having like I would with a Taurus or, for example, a
02:58 pike, an odd shape outside of the car. Two, I want to be able to filter my
03:04 selection, that is, I'd like to be able to get in here and say, let's only select by
03:10 nurb and therefore, because the rest of the car is polygons, I can not select the car.
03:15 It's important when you're animating to be able to clearly find and select what you
03:19 need in your rig. Here's what I'll do then.
03:22 I'm going to work on one tire and clone my controllers out.
03:25 This car has the same wheels in the front and back.
03:28 I can make one circle and clone it. If you've got a car that has maybe, larger
03:33 tires in the back, you'll need unique circles for each one, as these circles are
03:37 going to drive the role on the road or the rotation of the tires.
03:41 I'll hide my other objects by choosing 'Display', 'Hide', 'Hide Unselected', and
03:44 zoom in. I'm going to use a polyplane just to get
03:50 the center of the tire. As the vertices here (INAUDIBLE) a little
03:52 close together to be able to snap to. I'll make a polyplane of I don't really
03:57 care what size, but give it two by two divisions.
04:00 I'll align it using my align tool, right onto the tire.
04:05 This way, even though the tire doesn't have a center point, I have a center point
04:09 of the tire on another object. And I can snap my circle to it.
04:13 I'll click on circle under curves, hold v for snap, click and drag out from the
04:17 center And snap right out, all the way out to the edge of the tire, zooming in to
04:23 check and make sure that I'm on. It looks like I am at least the circle in
04:28 its spans and points is out to the edge of the tire.
04:32 Now I'll spin around. And I like to snap this onto the fronts so
04:36 they're visible. It's up to you where you'd like to put
04:38 these circles but typically to be able to pick them, I don't want to embed it in the
04:42 tread of the tire. I'll align it again, using in this case my
04:47 align tool going front to back, and, there's that circle sticking out.
04:51 I can delete the poly plane, and I'm going to name the circle.
04:55 What I'll do is I'll call this Control Front Left.
04:59 Typically I'll name my control objects, Control.
05:02 So if I do a wild card search I can put control in and only get my controllers.
05:07 Here's ControlFL. Now I can duplicate this around to the
05:12 rest of my tires. It's important in here to make the NURB
05:16 circle and get the radius because we'll use that in solving for the roll of the tire.
05:21 Alternately, we could come back and measure.
05:22 But why duplicate work instead of doing it once correctly?
05:27 There's one other piece I'll add on here. I'm going to add in a proxy object for
05:31 particle emission. This is a fast car, and there's a good
05:35 chance I'd like to see a little smoke on the tires, somebody taps the gas a bit.
05:39 If I try to make this tire emit particles Maya will choke.
05:44 Can we do it, yes. Is there a more elegant way?
05:47 Absolutely. I'll go back here in my right view.
05:51 And I'm going to make a polycylinder. I'll take my polycylinder and align it to
06:00 the tire. Going on center, center, and center.
06:07 Now I'll take this polycylinder. Grabbing the radius here from my nurb
06:11 circle and changing it, so it's a perfect match.
06:17 Then I'll increase out the height, scrolling up until it's the width of the tire.
06:23 Finally I'm going to bevel this cylinder's edges, pressing F10 for edge and picking
06:28 those edges. I'll hold shift and right click and chose
06:31 bevel edge. And turn off offset as a fraction, so the
06:35 offset is in same units. Now what I'll do is put an offset in of 1
06:42 and that looks pretty good. What this is going to be is a proxy that
06:46 if I need this tire to smoke. I can emit particles from the cylinder
06:51 instead of from the massive geometry of the tire.
06:53 Looking like the tire is smoking on the road, but coming from a far simpler emitter.
06:59 I'll name this smoke emitter, making sure that I right-click and choose object mode
07:03 in reselecting it to name it in the transform node.
07:07 We'll call this Smoke, front left. Now I've got my control components to
07:13 duplicate and align to the other tires. I'll make sure I have the cylinders
07:17 aligned to the tires on the centers, and the nerve circles aligned to the centers
07:21 in the outside. I'll duplicate these, using the Align
07:24 tool, and show what it looks like when I'm done.
07:28 With all of my cylinders, and circles cloned, and aligned.
07:31 I'm ready to deal with my naming. I've named this one, smoke front left, and
07:35 now I have a front left one. I'll just change this back to rear left,
07:39 and do the same with the circle. Again control rear left.
07:44 I'll fix up the naming. And then I've got all my objects in with
07:50 one more final thing to do on the smoke controllers.
07:57 My names are all in. I've got my smoke, front, left, right,
08:01 rear, left, right, etcetera, etcetera, and my controllers.
08:05 I'm going to pick my smoke objects here. And remembering to parent them when I get
08:09 to the tires later. Put them on their own layer by going to
08:13 the channel box, and in my display layers, creating a new layer and assigning the
08:17 selected objects. I'll name this layer Smoke Emitters
08:25 (SOUND) I'll turn off Visible and hit Save.
08:28 They are there in the scene. I'll have to remember to add them into the
08:33 rig, but they're hidden for the moment. So they don't render with giant cylinders
08:36 of my tires. But if I'm dealing in this car smoking a
08:40 little bit, I have ready emitters for my VMX animator to be able to get in, and key
08:45 particle streams, too. With these in place, I'll start to get my
08:48 steering locators in and finally, the control objects for the rest of the car.
08:53
Collapse this transcript
Adding steering locators
00:00 With the geometry cleaned and my tire controller is in place, for controlling
00:04 the roll of my wheel on the road, I'm ready to get my steering locators in.
00:09 If we spin underneath this car, we can see it actually doesn't have any steering mechanism.
00:13 It actually doesn't have any suspension either.
00:16 And that's fine because we really may not be able to see it in a car like this.
00:20 If you're dealing in a truck that's been lifted, for example, and has visible
00:23 suspension or it's more open like in a dune buggy, you may want to model it.
00:28 You may get models that have rudimentary suspension modeled in rough boxes, all the
00:34 way up through ones that have disc brakes and calipers that can be animated.
00:37 It depends what you're going to do with the model as well.
00:39 What I'll do is go into a top view here, and make some locators to put a separate
00:44 pivot in for my steering. I'll choose create locator, from the top
00:49 menu, or hot box. A locator seen here off to the side, is
00:54 simply an object that has no volume. It just exists as a point in space with an
00:59 extra pivot, so that we can separate the rotation of these tires from rolling and steering.
01:06 I'll take my locator and press v for snap and snap it right on the center of the tire.
01:14 Alternately, you could use your align tool.
01:15 I'm going to take this then and align it to my tire here.
01:20 So that I get it in the right place. That way I can be consistent on both sides.
01:26 Temporarily, I'll use my isolate select to be able to show just these pieces.
01:30 And I'll pick the locator, hold shift and pick the tire.
01:33 From my hotbox, choose modify a line tool. Notice the speed there.
01:37 I want it to be quick, which is why I'm using the hotbox, picking quickly and
01:42 choosing the tool. Now I'll align this locator, centered on
01:47 the tire. It already is centered in the top view and
01:50 front to back. This gives me the locator at the place of
01:55 the steering. If you'd like to change the size of your locator.
02:00 Don't scale it. Scaling it actually doesn't work.
02:04 What we want to do it with the locator, either in the channel box or the attribute
02:06 editor, is to use the local scale which I'll put up at 3 to make it bigger.
02:11 It's the drawn size of the object on the view.
02:14 Not the physical scale of that locator object.
02:19 Now with that in place I can name it. And clone it to the other side.
02:23 I'll call this one 'Steering'. And this will be front left to keep with
02:29 my naming convention. I'll show everything else by turning off
02:33 'isolate' and moving this locator. It looks like I do need to correct that naming.
02:40 It's okay to catch yourself on naming like this and fix it.
02:43 It's better to fix it now than when it's part of an expression, something else is
02:47 looking to. I'll duplicate this locator and move it
02:50 over, and use my align tools again to get it aligned onto that tire.
02:56 I'll select the tire, deselecting the body, and on my Hotbox, choose Modify
03:01 Align Tool. Here's my front-to-back align.
03:05 And it's in good shape. Having these locators on the steering is
03:10 important and here is why. If I take a tire, and I rotate it on the
03:16 red x axis here for rolling on the road, it looks good.
03:21 If I turn it on the green Y axis for steering, again, it looks just fine.
03:26 If I rotate and roll together, I get wobbly wheels, which is probably not the
03:33 best for driving. So the locater gives me a chance to
03:37 disassociate the Y rotation of the wheel from the X rotation, separating them so I
03:43 can have both at once without having wobbly tires.
03:47 Now that I've got the steering locators in place, I'll get the control object in for
03:50 the rest of the car. A body, steering, and master control to be
03:54 able to distill that control to as few pieces as possible.
03:58
Collapse this transcript
Creating steering, body, and master controllers
00:00 With wheel and steering control and locators in place, I'm ready to get more
00:05 controllers that distill the control higher up on my car.
00:08 You can use any shapes you want for this or any kind of objects.
00:12 What I prefer to do, though, is to keep in line with what I've done on the tires.
00:15 I've used a kind of object, here a nerve circle that is different than anything
00:20 else on the car. If I'm only using NURBS controllers, for
00:24 example, I can choose it here in my selection filter, NURBS.
00:29 And this way I can click all I want on my polygon objects but I cannot select them.
00:34 (SOUND) If you use all polygon-based objects, there's two things that could happen.
00:40 There's a chance of an accidental render of a controller object and you may
00:44 accidentally select part of your car. I'd rather be doubly insured by object
00:49 type and layers that I'm not selecting the actual car geometry.
00:53 I'll start out here in a top view, zooming out and creating some circles under
00:58 curves, choosing circle. This first circle will be my steering controller.
01:03 I'll move it out here and really you can use any shape.
01:08 What I'd like to do is to Right click and choose Control vertex.
01:11 And pull the back one forward to make a boomerang or a kidney shape we'll call it.
01:17 This way, wherever it's rotated I can tell which way the car is facing.
01:21 I'll name this object Control Steering, and I'll take this nerve circle and center
01:30 it on the car, holding V for snap and snapping it on the center line, pulling it
01:36 back over the hood, and in a front or left view, pulling it up.
01:41 Rather than land the control on the steering wheel, what I like to do is to be
01:44 able to have that steering control accessible from an outside view.
01:48 Let's say we're going to see the car go by and right here, turn the wheels, I want to
01:53 be able to grab the steering controller without having to hunt.
01:56 So in that camera view I can turn these wheels to be the right direction.
02:00 Now make two others, a body and a master controller.
02:04 The body controller is just a circle, I'll create it and let it be just under the body.
02:12 Again, choosing to center it on the car. In this case using my align tool.
02:18 I'll center it, and then i'll take this body controller and center it on the wheels.
02:23 The reason for this, picking for example a tire back here, is that this body needs to
02:29 rock back and forth on the axles. So being able to parent all the body
02:35 geometry that is essentially static to this controller.
02:39 Lets me animate it forward and backward and side to side over the axles so the car
02:44 will rock and lean while steering correctly.
02:47 The last controller I need is a master, and again, you can use any kind of object
02:52 you'd like to fashion for this, arrows, circles, squares, text, whatever strikes
02:57 your fancy. I'm going to use some circles here because
03:00 they're easy. I'll click and drag to make a master
03:03 control, and then I'll right click and choose Control Vertex and pull the front
03:09 one out. This kind of teardrop shape is a, we'll
03:13 call it a large arrow, but shows me which way the car is facing.
03:17 This way, I can judge how much I've rotated it by where that point is.
03:22 I'll choose Object Mode, pick the whole object, center it on the car body again
03:29 using the Align tool, and center it on the front wheels.
03:35 If you noticed, I haven't left my Align tool as part of this selection.
03:39 I'll pick my steering control, pick one of my front tires, and center it.
03:44 What I'll actually do though, is move this control object forward, and then pull its
03:51 pivot back to match on the front wheel so the car pivots around the front.
03:56 I can do this in, let's say a right or left view.
03:59 Pressing V and D to move the pivot, and on the blue z axis here, snapping back onto
04:05 the center of that hub. Then I'll take the master control and pull
04:09 it up. It's up to you where you would like to
04:11 leave it. But personally I find that if it's down
04:14 here on the zero plane it tends to get submerged in the road.
04:17 So I'm going to take this and move it up. Even with the tire.
04:22 Even holding v to snap. This way I can manually sit the car on the
04:27 road, squish the tires down, and in any view, especially a camera view like this
04:32 where the car is coming towards me let's say, I can grab this controller and rotate
04:37 it or lean it as I need. I'll name this Control Master, and I'll go
04:45 underneath and name the last one Control Body.
04:51 It's important to keep your naming conventions consistent so you can
04:55 recognize objects. Additionally, you might be rigging this,
05:00 and somebody else might be animating it. Or, you might be animating a rig that,
05:04 somebody else rigged. Everybody likes it when the naming is
05:07 consistent, because it makes the things that we expect to find easy to find.
05:11 Hunting through 5 or 10 nerve circles is kind of a drag after a while.
05:16 But finding Control Body, or Control Master makes the job much easier.
05:22 With my controllers in place, I'm much, much closer to getting a rig in.
05:26 I get the geometry ready and I've got locators and controllers for stirring,
05:30 wheels, body, master, and stirring control in.
05:35 Now I can start to assemble things together and begin to get in the fun
05:39 stuff, like squishy tires for deforming on the road.
05:42
Collapse this transcript
3. Assembling the Wheels
Overview of wheel organization
00:00 With our geometry ready and our controllers in place we can look at our
00:03 wheel hierarchy in order to understand how we should parent all the pieces together
00:07 and what else we need to do. If we zoom in and look at a wheel we've
00:11 got four pieces that actually make up the wheel assembly, the tire, rim, spokes and hub.
00:18 Outside of that, we have a nerve circle that's going to govern just the rotation
00:23 on the x axis, giving us spin of the wheel on the road.
00:28 Inside then, we have our locator, and this is going to be our steering.
00:31 It's at the point where the whole wheel assembly steers.
00:36 If we take a wheel, and pull it to the side for a second.
00:39 We can look a little bit at how to move this and what to do.
00:43 Right now, if I take this wheel and spin it I get the whole wheel rotating, and
00:49 that's just fine until I decide to put on things like a deformer.
00:54 Anytime we're dealing in a deformer, we are moving or affecting the geometry.
01:00 For example if I take in here under create deformers a lattice deformer and apply it
01:05 to the wheel I can take this wheel and squish that lattice.
01:10 I pick my lattice point and take the bottom set, making sure I grab all of them
01:14 and pulling it up. Now I have a wheel that's squished down to
01:18 the road. And again, if I select this wheel by
01:22 object and rotate it, it actually rotates through the squish zone.
01:27 This is good, until I start to put on an extra control, like a cluster.
01:32 I'll get in here, and take these lattice points that I had previously moved, and
01:36 pull them back a little bit, and add a cluster on.
01:39 What a cluster does, is to take points, like lattice points, or vertices, or skin
01:44 clusters, for example and identify them with a unique object.
01:49 When I create a cluster, then I have a C here, for Cluster, and I can grab all
01:53 those points and move it. However, this is where stuff gets messy.
01:57 Let's say, for example, that my wheel assembly is parented to a cube.
02:02 I take my wheel and parent to a cube. I take my lattice deformer and parent to a
02:08 cube, and I take my hub and parent to a cube.
02:14 When the cube rotates, I get a mess. The reason for this, is that the deformer
02:21 is already effecting the geometry, so I'm doubling the rotation, and because it is
02:26 this lattice deformer, it's sheering through that deformer itself.
02:30 If I go into the FFD one, I can actually change the outside lattice properties to
02:35 everything, and that does help somewhat. Although I still get a moderate mess.
02:41 When I rotate again, now I get just a double rotation.
02:44 What I need to do then in looking at this wheel hierarchy is to say, how do I
02:50 isolate these rotations and deformations down, and where do I have to make
02:53 allowances for the possibility of a double rotation.
02:58 What I need to do then is using non-linear deformer to affect the wheel.
03:01 And so I'll use a squash and it'll affect the tire and a tiniest bit of the rim.
03:07 It'll look okay because most of the squash will be in the bottom of the tire.
03:10 We'll constrain it down using the balance. Then I'll have my whole wheel assembly
03:14 rotating on my nerb circle. Which is then parented to my steering
03:18 locator, and that way the whole assembly including the squashed tire, which does
03:23 not double the rotation, is steering. Through about 20 degrees to either side to
03:28 actually steer the car. On the rear it's far easier.
03:33 I simply have to spin and squish, and so I don't have to worry about a second
03:38 parenting tool locator inside the wheel to steer, but rather everything parented to
03:43 simply the nerve circle to roll on the road and then squish the tire.
03:48 It's important to think of these kind of things.
03:50 In a real car, we actually do distill down that rotation so that every rotation is
03:55 handled by another component. It's very rare to see a universal joint
03:59 for example in an instance like there where I need to have rotation transferred
04:03 on axes or changed between let's say x and z.
04:07 It's much more common to have a series of essentially hinged joints that transfer
04:12 rotation one axis at a time. So with that in mind, we'll get in and
04:16 start parenting the wheel and then add in the deformation for the tires to make them
04:20 squish down to the road.
04:21
Collapse this transcript
Parenting the tires and hubs
00:00 Now that we understand the hierarchy in wheels and how to avoid a double rotation
00:04 in steering, we can start to parent together parts of our wheel assemblies.
00:08 I'll begin with the rear wheels, zooming in on the left rear and selecting the hub
00:14 and then spokes, rim, and tire. All these pieces need to rotate together.
00:18 It's one wheel after all. With those all selected, I'll hold shift
00:23 and select the nerve circle outside called Control Rear Left, and press P for parent.
00:29 Now I'll test it. As we've seen, it's very important to test
00:32 a rig all the way through. I'll press E for rotate, grab the red X
00:37 rotation ring and spin it, and as we'd expect with a parented object, the whole
00:42 tire rotates together. I'll do this on the right rear as well,
00:46 and then I'll move on to the fronts. Make sure you deselect before you start
00:51 re-selecting to parent. That way you don't accidentally parent the
00:55 left to the right, for example. I'll pick the middle, press Q to switch
00:59 over to selection, and then pick the spokes, rim, tire, and, finally, circle,
01:05 and press P. Again, I'll test it.
01:08 If it seems redundant to test, or just such a simple step you shouldn't do it,
01:12 think again. There's always time to test out and make
01:15 sure something works. As you get more and more into a rig,
01:18 things get more and more complex. Now work on the front wheel and since I
01:22 happen to be on the right side, I'll start on the right front.
01:26 I'm going to select again, the hub, spokes, rim, tire and nerve circle and
01:32 press P. Then, I'll take that node circle and spin
01:36 underneath the car, to parent it to the locator.
01:39 I'll hold shift, zoom in and select that steering locator that I had created earlier.
01:43 Then I'll parent the whole assembly to the steering and I'll test it once more.
01:51 With the nerve circle selected, pressing E to rotate spins the whole wheel, as we'd expect.
01:57 Now zipping underneath and selecting the steering locator and backing out a little
02:02 bit lets me steer the car. I can steer the car actually right through
02:06 the engine there, and I'll need to limit that down but I'll do it with the steering
02:09 controller later, but my parenting is all in good shape.
02:13 What I should be able to do then as a test is steer the car, pick the nerve circle,
02:19 and rotate the wheel. And I have isolated that rotation down one
02:23 axis per object, so I'm not getting a double rotation causing wobbly wheels.
02:30 I'll finish up with the left side, making sure I have all the pieces of the wheel
02:33 parented to the circle first. Here's the hub and spokes, rim, tire,
02:39 circle, P for parent, and finally take the parent and parent it to the steering locator.
02:48 Now for the ultimate test. When I pick the steering locator on both
02:54 sides, making sure that I rotate on the local axes I should be able to steer the
03:01 car, and it looks like we're in pretty good shape.
03:06 I have my discreet rotate on, which is why that's clicking over in every 15 degree increments.
03:12 All of my wheels are parented, and I'm ready for the next step, assigning the
03:15 deformers to make the tires squishy. And then parenting the deformers into
03:19 something in the car, so that the wheels squish, the deformers rotate with their
03:22 parents for the steering, and it looks like the car is sitting on the tires.
03:27 (BLANK_AUDIO)
03:28
Collapse this transcript
Flattening the tires to the road
00:00 Once the car tires are all parented together and onto their locators for the
00:04 front sterring, we can start to think about squishing the tires so that the car
00:08 sits down on them. We're going to use a nonlinear deformer
00:11 for this. A squash.
00:13 And it's going to squash actually the tire and the rim slightly.
00:17 Now I realize that the rims should actually be metal and not squashed, but
00:20 we're going to limit down the squash so much that it really just affects the
00:24 bottom of the tire. The reason to do this, as I showed before
00:27 with the lattice, a squash let's us put in, well, squishyness on the tires without
00:32 doubling a rotation when it's parented. A lattice deformer is going to give us
00:37 that squishyness, but it's also going to add in some really odd motion and
00:41 deformation when we start to rotate and parent.
00:45 I'll begin with the rear wheels. Zooming in on the left rear by pressing f,
00:49 and adding in that deformer. I'll select the rim and the tire and
00:55 choose under create deformers in the animation menu non-linear, squash.
01:00 Now, a squash deformer, as its name implies, is really made to squash and stretch.
01:05 I'll press Ctrl+A to go over to the attribute editor, and into squash 1, the
01:10 actual non-linear deformer. We can use factor in here, which is the
01:14 squash factor, to deform this wheel and get some very cartoony motion if we need.
01:19 If you need your wheels to be very sprongy, if you're dealing in, let's say,
01:24 cartoon wheels for a Roadrunner and Coyote example, we can really use this factor on
01:29 the whole wheel to make it squish. What I'm going to do, though, is take this
01:32 squash, and lower down the high bound, taking it down to zero, so that when I
01:38 move factor around, it just takes the bottom of the wheel.
01:41 Then, I'll take the N smoothness up. Again, this will help me smooth out that motion.
01:47 Finally, I'll take expand down. Maybe down to .1.
01:52 This way factor doesn't squish out the tire to the sides it just goes, basically
01:59 up and down. As long as I limit down how much factor I
02:02 put into it, I can have a little bit of squish on that tire to make it look like
02:06 it's sitting down on the road. For example, here's a factor of -.1, and
02:11 the tire is just a tiny bit squished down. That should probably be the maximum for
02:17 that motion. Any more and it's going to really start to
02:20 squish the rim. A factor, let's say, of .05.
02:25 Does it pretty nicely. The tire is definitely sitting down in the
02:28 road, it's just a little flat on the bottom.
02:31 We can measure it more than we can see it, but it's definitely got that slightly off
02:35 look and we believe that the car has weight.
02:38 Returning the factor backt o 0 gets me my full tire.
02:40 So I need to make sure that eventually when I put controllers on to these so I
02:44 don't have to access that squash, that the maximum facotr is 0.
02:48 I can also play with the envelope to adjust this.
02:51 For example, if factor comes down a little bit, we squish that.
02:55 Envelope, then, affects how much of that tire is affected by that deformer.
03:01 With envelope at 0 there's not effect, with Envelope at 1 it's full.
03:05 So I'm going to back off the Envelope to adjust around 1/2, which let's me pull
03:10 down factor to -.15, for example, without doing a huge deformation of the rim.
03:16 It's the equivalent of the opacity. How much are we doing and how visible is it?
03:22 I'll make sure that I set this envelope consistently, let's say .5 for all my
03:27 deformers so I can remember it. I'll return that factor to 0 and add those
03:31 squashes in on the other elements. Here's the front wheel, and I'll do the same.
03:37 The rim, the tire, create deformers, non-linear, and squash.
03:43 Again in that squash, I'll put in the same things.
03:46 I can even go back and select the original squash if I need or if make myself a preset.
03:51 I'll do that by zipping back in. Pressing 4 for a wire frame and selecting
03:56 that squash, which we can just see at the bottom of the tire.
03:58 I'll choose presets. Save non-linear preset, and I'll call this
04:04 preset tire squash. And I'll click save attribute preset.
04:12 Now when I go back and pick the squash on the front, I can load that in.
04:17 Zipping under, selecting the squash, choosing presets and tire squash replace.
04:23 And now I have all those numbers in the same on this tire.
04:27 I'll add in the other squashes on the other tires and show how this looks.
04:32 I've put a squash on the remaining tires and now I'm ready to test them out.
04:37 Before I get into any parenting, I'm going to test the squash and the rotation.
04:42 Because they're all a squash, non-linear deformer and they all have the same
04:46 attributes, I can pick all of them at once and squish all of the tires down.
04:50 I'll pick one, two, and three, and four in back.
04:56 We can also do this in the outliner , if you're having trouble pikcing that
04:59 deformer as it sticks out of the tire. With all of them selected I'll press
05:03 control a to go to the panel box and zip down into the inputs.
05:08 In the inputs for squash one I have all my attributes.
05:12 Now notice up in the channel box it says squash 1 handle dot dot dot.
05:16 And what that means is there is more than one object selected.
05:19 Any common attributes are shown here in the Channel box.
05:22 Obviously, transforms such as translate and rotate are common.
05:26 And there's a squash handle shape. But because they all have the Squash One
05:30 inputs, they can all be affected by these factors here in the Channel box.
05:34 I'll take Factor Up by clicking and dragging across factor and zero.
05:40 And then clicking and dragging into the view with the mouse wheel.
05:43 And I've got squishy tires. So, when I squish these all up, let's say
05:46 to negative 0.5 for a little emphasis, and then select the nerve circles for the
05:52 front tires and press E to rotate, I can spin them.
05:55 And what I'll see is that those rotate through that squash, giving me rotating
06:01 wheels that are deformed to the road. With my swatches in, I can start parenting
06:08 the squashes and getting controls on so I don't have to hunt for factors.
06:12 I'll do that and then start getting the rest of the suspension in place.
06:17 So the wheel can travel up and down as well.
06:19
Collapse this transcript
Adding tire deformation controls
00:00 With the non-linear squash defomers in place on each tire, I can get some
00:04 controls in, so I don't have to hunt and peck for them.
00:06 What I'd like to do is to have a control that's on the tire.
00:10 It's very possible, we'll see this car and a few like this in the camera.
00:13 Nice and close-up, we see the wheels going, the exhaust and so forth, and we
00:17 want to see the gloss in the paint. In this kind of a view, we'd like to be
00:21 able to take the tires and squish them. So jumping underneath to try and find a
00:25 squashed deformer is a bit of a mess. What I'll do then is put some kind of a
00:30 controller outside of the tire, so in an oblique view I can effect the factor.
00:34 I also don't want to accidentally over crank factor, because we can see in the
00:39 squashed deformers it's very easy in here to really get in and push that around.
00:44 I'd like to have it where a big movement on the controller gives me a little
00:48 movement on the factor. I'll start out here in a side view, let's
00:52 say a right view by making a new controller.
00:55 I'm going to make a circle. And I'll click and drag to drag out a circle.
00:59 I'll scale the circle by pressing r and scale it on the z axis down to along the ellipse.
01:06 This will be recognizable as an up and down.
01:09 What I'll do before I attach this or parent anything to it then is freeze the
01:13 transformations, choosing Modify and Freeze Transformations.
01:17 This is an important step. If at any time in a rig we have a parent
01:21 that is scaled, and we parent or rotate a child on it, that child will sheer, and
01:27 we'll get some very odd motion. So whenever you scale a controller object
01:31 or anything that will be a parent, make sure you freeze the transformations.
01:35 Now I'll get this in place. I'll name it first, and even delete the
01:39 history by pressing shift alt d. It's now just a nurb circle and a shape node.
01:44 I'll call this tire, squash, front left, and I'll align it to my tire.
01:52 Selecting the tire and zipping into a perspective view, so I can see what I'm
01:56 doing a little better. And for my hot box choosing Modify > Align tool.
02:01 I'll align it to the center of the tire and centered in the view.
02:07 I can put it on the front to back but that might be a little close.
02:10 We can see that really puts that controller right on the tire.
02:14 So what I'll do is land it there deselect that tire and then move this control out.
02:19 So that I stand a reasonable chance in this side view of seeing it.
02:23 It's also a nerve circle, so when I can strain down my selection so I cannot
02:27 select polygons, I have a good chance of grabbing just this control correctly.
02:32 I'll take this control and duplicate it out to the other tires, and then start to
02:36 attach it. I'll press Ctrl+D, hold Shift, pick the tire.
02:42 On my hot box, use my align tool again. Spin around, and put it in the center.
02:50 Now, I'll hold Ctrl and reselect the tire, Ctrl+D to duplicate again.
02:56 Zip around to the back of the car, and pick that tire.
03:01 I haven't left the align tool, and that's an important one.
03:04 A lot of times people ask, how did you get so fast?
03:07 And what I say is, I try not to leave a tool until I'm done with it.
03:12 It's very easy to hunt around for tools. To get in there and say, let's do this tool.
03:17 Let's switch to this one. Let's do this.
03:20 Now, let's move over here. I would rather try to duplicate this as
03:24 well as I can by using the Align tool, which happens to let me select.
03:29 This way, I have all four controllers duplicated out very quickly, actually
03:34 faster than I could explain it. They're out here, so that in an oblique
03:38 view I can select them, and I can also select them in a front or otherwise.
03:43 What I like to do with the controllers often is change how they're drawn.
03:47 This way instead of all blue, I can see them in a distinct color.
03:51 We could do it here in the display using the drawing overrides or we can do it in
03:55 the layer. I'll use my drawing overrides here.
03:58 Turn on enable overrides and change their color around to maybe a bright yellow.
04:04 Here in my indexed colors, I have a bright yellow, and so now this object is very recognizable.
04:09 I'll do it with the others, enabling the override, and scrolling through to that yellow.
04:13 I'll also make sure I get in and rename these pieces, and this way I can recognize
04:19 them in an outliner cleanly. With all of them in place, named, and
04:26 colored, it'll be an easy one to find. I name the first one so all the succeeding
04:31 shapes just need to change at the end. So this'll be rear left, and here we have
04:37 front right, and finally in the view rear right.
04:43 If you notice I didn't even spin around to pick, and it's another way to be fast.
04:47 We always want to ask, how can we do this without moving around more, because when
04:51 we move around we are asking our eyes, and our thoughts to readjust to what we are seeing.
04:56 So see what you can do, with limited movement.
04:59 I know I'm fast when I actually don't move my hands much.
05:02 Now I'll attach these to the squash. What I'm going to do is limit down these controllers.
05:12 I'll select them, and go into the limit information after I freeze the transforms
05:17 one more time. I'll pick them all and under modify choose
05:22 freeze transformations. With the transforms frozen, they all think
05:27 they start out at 0. And we can look up here in the transform
05:30 attributes to see that. What this means then is I can take this
05:34 one, let's say the front left, limit it down and.
05:39 Under Translate, put on a y limit. I'll set the y here from a y of, let's say
05:46 0 to a minimum of negative 1. This gives me just a little movement, just
05:55 enough to squish those tires. If you'd like to put in more, you could
05:58 say that this is negative five. We just have to remember how much it is
06:02 when we go and put in our squish here. Now at negative five, I've got a good
06:07 visual as to squishing that tire. I'll do the same with the others, and then
06:11 come back and get an expression in place on the squash.
06:15 With all of my controllers named Colored, Limited, and in place, I'm ready to
06:20 actually get them onto the squash. What I'm going to do, is temporarily hide
06:24 the geometry by choosing Show, and unchecking Polygons.
06:29 This way I can see my car rig cleanly. Here's my squash, and in Squash 2, what I
06:34 need to do is equate factor to the movement of this controller.
06:40 I'll go and squash to a right click, and go into My Expressions by creating a new
06:44 expression here. Right clicking on the word factor to do this.
06:48 Alternately you can choose Window, Animation Editors, Expression Editors, and
06:53 we'll get to the same place. Here's Squash 2 handle, and I need to make
06:58 sure I'm in the right place in my expression editor to do this.
07:02 I'll right click on Factor, and there's those pieces.
07:05 It's important to see squash 2 instead of squash 2 handle.
07:10 Squash 2 factor then is going to relate to the movement on the y axis of that controller.
07:17 So I'lll select squash 2 factor and press control c to copy.
07:22 Then I'll go select the controller, and it's going to be tiresquashfl.translate y.
07:29 And so here in my expression I'll put in squash 2 factor space equal space
07:34 tirequashfl.translate y, copying and pasting down times a multiplier.
07:41 Remember I said, the most I want to move that squash factor is maybe 0.1, so what
07:47 I'll do is put in some sort of a multiplier here, to be able to reduce that motion.
07:52 We can either do arbitrarily, or figure out that percentage we need to move.
07:57 I'm going to put in, for example here, 0.01.
08:01 And a semicolon and see how this behaves. I'll name this expression and call it tires.
08:06 I'm going to use one expression for the rest of what I do in the car, so it can
08:10 all be in one place and evaluate together. I'll hit create, and I get result tires
08:15 down here at the bottom in the status line.
08:17 I'll slide my expression editor to the side or down in the bottom.
08:21 And pull this down, when I squish, I've got a pretty good motion.
08:27 What I want to do, looking at the deformer, is, see how this behaves in the
08:31 squash too. As I pull this down, I get a get a factor
08:35 here of negative .05. So I want to put in a little bit more of a
08:40 multiplier to get me to negative 0.1 for my maximum squash, and I'll be in good shape.
08:45 In my Expression Editor then, I'm going to change that multiplier to 0.02, hit Edit,
08:51 and I get another result. Now when I pull this up and down, I have a
08:59 factor from 0 to negative 0.01. When I show my geometry again by choosing
09:05 Show in Polygons, we can see I've got tire squishiness.
09:09 But just a little bit, and it's limited down in the controller and constrained
09:13 then on how much squash is put in by factor.
09:16 This means I can have a little squashed to the road, and go over bumps, and see the
09:21 tires spring back out, but it's not excessive.
09:23 And it's not introducing a giant deformation of the rims.
09:27 Now what I'll do, is put this on to the other squashes.
09:31 These are all named. Squash 1, 2, 3, and 4.
09:36 Which means what I can do is copy and paste that line of code.
09:40 I'll right click in here in the expressions, and choose select filter by
09:43 expression name, and there's my tires. I'm going to take these, and copy and
09:50 paste them down. Then it's simply a matter of changing the name.
09:56 I know I've got squash one, two, three, and four.
10:00 And so, I'll put those in, and then find which tire they go to.
10:06 We can actually select different pieces if we need.
10:09 So, by hiding the geometry, I can see this a little better.
10:12 Here is tire squash rear left, which relates to squash 1.
10:21 So here's squash 1 to tire squash rear left.
10:25 Squash 2 was the front left, which I'll verify by selecting it.
10:32 Rear right goes on squash 4. So I'll put in tire squash RR.
10:43 And that leaves me front right on squash three.
10:48 I'll hit edit, I get a result tires at the bottom and I can close this expression editor.
10:53 And now all of my controls for my squashes are all linked to their correct squashes.
10:59 But they're all independent and I can have my tires squish up and down as I need.
11:04 I'll show my polygons again, and I'm ready to actually parent the controllers and the
11:08 squashes onto the tires, making sure that they stay with it when I steer.
11:13
Collapse this transcript
Parenting and constraining the suspension
00:00 Once the squash deformers are constrained down, so that we've got control outside of
00:05 the tire, and we can see them squash. We can start to get the wheels all
00:08 parented together onto the car. We want to put in some additional controls
00:12 here for the suspension. You notice, I still have that warning down
00:15 at the bottom. And it's just looking for a camera that's
00:17 not there, so I'm not letting it bother me when I open the scene.
00:20 It's just saying, for some reason there's a camera that we can't find.
00:24 This should probably go away when I take this car into another scene.
00:27 My plan, eventually, is to take this rigged car and import it into my scene of,
00:33 let's say, a road. And I should see that error go away.
00:36 When we see things like that, we shouldn't let it bother us.
00:39 We should read it, understand it, and be able to move on.
00:43 If it's an error in red, we need to pay attention because it may be missing
00:46 something like a texture, for example. But in this case, it's simply saying we
00:50 can't find the camera that may have come with the file let's use another one, not a
00:54 big deal. Now for my extra controllers, what I'd
00:57 like to do is take the control of the wheel coming up and down.
01:02 Off this circle. I really like to have the circle for the
01:06 control, just before rotation. And so I'm going to put in one extra
01:11 controller here. I'll use another nerve circle, this time
01:16 creating it in a perspective, or top, view.
01:19 I'll take this controller and align it to the tire, making sure it's on the bottom.
01:24 I'll align it in the center, center and bottom to bottom.
01:30 Then I'll take this circle controller and elongate it slightly by pressing R for
01:36 scale and scaling it out just so it's very visible.
01:39 If you're making controllers, make them obvious.
01:42 Nobody likes when animating to have to go and hunt and peck for things.
01:46 This is going to be my floor Where I can take this controller and pull the whole
01:50 wheel assembly up and down, essentially as a static piece to simulate the working of
01:54 the suspension. Sometimes in a car we may have a modeled
01:57 suspension and we can actually use spring constraints and weighted correctly and
02:01 make it go automatically on to the road but what I'd like to do here is put in
02:06 some individual control if I need and I can hand animate over a bump.
02:10 Ideally, I won't be driving this very nice car over too many bumpy things.
02:14 It's actually made for, well, flat roads and hairpin turns.
02:17 So having that unique control here for the suspension will do well.
02:20 I'll name this object Control Suspension, Front Left, and clone it around.
02:31 I'm going to free the transforms once I've got them all cloned, because I'm going to
02:34 move them around as well. The cloning on this will follow what I've
02:38 done with the others. Pressing Control D to duplicate, holding
02:42 shift, picking the next object and aligning it.
02:45 The align tool is invaluable in rigging, because it lets us get in and align
02:49 things, as the name suggests. Two other objects.
02:52 Duplicate. Hold Shift, pick the other tire.
02:56 Zoom in to see the tools and align on center.
02:58 Now I can rename and I'll make sure that the naming is all consistent with my other conventions.
03:04 As a note on naming. We want to be consistent, and what we'd
03:13 like to be able to do, ideally, is be able to say to an animator in two sentences or
03:19 less how the rig is put together. I should be able to hand off this car and
03:23 say, master control, steering control, suspension and squash control.
03:28 They're all nerbs curves. Go animate it.
03:31 And that should be all my animator needs. They should look and say, I'm looking for
03:35 the nerbs curves, I see them. I click on them and I see their names, and
03:38 I understand what they do, and that's all I need to do.
03:42 If you have to hunt for controls in a rig, it's broken.
03:44 If a rig isn't obvious in how it's controlled, it's broken.
03:49 Not that it's not functional but that it's difficult to use.
03:53 I want it to be an easy uptake, so that in case I'm not there to explain if I've
03:58 moved on to another project for example, this car is very straightforward to simply
04:02 drive it in many scenes as you'd like. Now what I'll do is get these controls together.
04:07 I'm going to pick my steering locator underneath the car, and that's got the
04:11 whole tire assembly parented to it. Then I'll pick this new control and parent.
04:16 Now when I pick my new control, which is just a vertical, I've got control on the
04:21 whole suspension. I'll take my squash control and parent it
04:27 as well. Again, testing.
04:30 I pull it up and down because it's a parent, I'm not moving the squash control uniquely.
04:36 That still is on its own movement and there's the squash in the tire.
04:40 Finally, I'll take that squash deformer, zooming in to select it, and parenting it
04:47 uniquely to the suspension. One more test.
04:52 When I take the squash control and I pull it up and down I get the whole control
04:57 squishing the tire. Grabbing the suspension control moves
05:00 everything up and down as a static object and then within that I can squish, so now
05:06 I have control for my animator to move the suspension up and down, moving the whole
05:10 tire assembly as a static, roll the tire. And then squish the tire to the road.
05:16 I'll finish the parenting for the other objects and show what it looks like.
05:20 Making sure that I parent the whole assembly to a suspension control.
05:26 The squash to the suspension, and finally the squash control.
05:32 I've parented my controls on, and I have a choice to make in the parenting order here.
05:36 Right now, I have my steering locator handling the steering of the wheel, but
05:42 the squash control is not moving with them.
05:44 It's parented to the suspension control and so it's riding outside the car.
05:49 It still works just fine if I pick the squash controller for the front right
05:52 wheel, for example. And I squish it.
05:55 I'm getting the right squash. The question then is really one of, where
05:59 do we want to functionality? Not that it's going to change.
06:02 I could parent this squash control to the locator, that way, when I rotate the
06:06 wheel, the squash control goes with it. Or I can simply leave it out here, knowing
06:10 that it's going to hold that same place on the car.
06:13 And let it ride \g being able to turn the wheel and still access the squash control
06:18 which is just not rotating when I steer. I'm going to leave it like this, so that
06:22 my squash controller's right outside of the car as statics the whole time.
06:26 This way I can pick them easily, even while I'm turning the wheel in an
06:29 animation, for example. I'll make sure I go in and set this
06:33 control back. Right now, I've rotated this steering 30
06:37 degrees, so in my attribute editor on the Y-Rotation I'll zero it out to make sure I
06:42 don't introduce a rotation into the rig as part of it.
06:45 That everything should be neutral to begin.
06:48 My wheels are ready. I've got my suspension controls for the
06:51 whole wheel. I've got steering controls ready to link
06:55 up to my steering wheel. I've got squash controllers, and they ride
06:59 up and down with the wheel and allow us to squish the tire slightly.
07:03 So we can take the whole car and push it down to the road and squish those up, and
07:07 then if we go over a jump, let's say Pull them back out.
07:10 Then I can make the suspension react uniquely.
07:14 If you'd like, you could add in one more piece, and that's a full front and full
07:17 back suspension. That's an option in here which we can do,
07:20 which is kind of handy, depending on how we're driving.
07:23 Right now, each wheel is uniquely sprung as it should be.
07:26 If you'd like though, you can add in one more circle control in the middle, and
07:30 parent both suspension controllers to it. I'll show what this looks like as an option.
07:35 I'm going to make 1 more circle and I'll let this be fairly big.
07:40 And then scale it to deform slightly, alternately.
07:43 I can get in here and pick maybe 1 of the control verticies and pull it so I'll make
07:48 another tear drop shape. I'll take this object, which will be my
07:53 front suspension controller here. And center it on the car, aligning it to
07:57 the car body. I'll pull this control up, holding control
08:05 to deselect the body and making this come off the ground a little bit.
08:09 I'll name this control front suspension. And I can duplicate it across to the rear
08:20 if I'd like. I'd like to have the front have the
08:22 possibility of being moved together but the rear be individually sprung.
08:26 So I'm only going to do one of these on the front here.
08:29 >> It's also a rear wheel drive car, and so I want that rear to be feeling a little
08:33 heavier, when the car sits down when I accelerate.
08:37 What I'll do then is I'll take my unique front controls, and just parent them up,
08:41 pressing 'p' for parent once I've got them selected Now I've got steering control
08:46 unique, I've got suspension control uniquely and I have dual suspension
08:51 control in the front. We can limit this if you'd like.
08:54 You can go into the limits here in the translate and limit this down so we can't
08:59 shove the tires through the fender. I'll make sure that I pick this And zero
09:04 out those transforms first. It may be a good idea even to undo that parenting.
09:09 Zero those transforms and then parent them.
09:12 But, I will try it first here. If I choose modify and freeze
09:17 transformations, it works expect my controler disappeared.
09:23 That's because when I select the parent, the children go with it, so I'm going to
09:26 unparent these suspension controllers by pressing shift p.
09:31 And now I've got, again, unique suspension, and nobody parented to my controller.
09:38 I'll freeze it's transforms out. And now, I can play with the limits.
09:44 I'm going to put the limit here at maybe negative 2 to 2, this way I have a little
09:52 bit of motion. It's actually quite a lot of travel, 4
09:55 inches there, but when I pair these pieces up I have just a bit of travel here.
10:02 Just enough to really make those wheels go without them totally passing through the fenders.
10:06 I like to give the possibility of animation, but also, I like to limit down
10:11 what I can do. So that I can't accidentally move
10:14 something and completely see it pass through the geometry, breaking the illusion.
10:20 I'll zero this back out so my wheels are at their default and I'm ready for the
10:25 next section of rigging the car. I need to get all the expressions together.
10:29 What that means then is I'm going to start dealing with expressions to make the tires
10:33 rotate as I move the car forward, steer as I rotate the steering controller and move
10:38 the whole car by pulling my master. I may even put in a drift control so that
10:44 as I spin that car and drift a little sideways I can still have the master
10:49 pointed down the road. We;ll get going now that we've got all of
10:52 our wheels parented together, one last thing, make sure you test it every step.
10:57 As you've seen every time I put in a piece of the rig I test how it works and that is
11:02 highly important. The more you get into the rig.
11:05 The more difficult it is to undo. We just saw an example where I had to
11:10 unparent that front control. And it could have gotten a lot messier
11:13 very fast. So I want to make sure that everytime I do
11:16 the simplest thing even just a parent I test and make sure that it's behaving as I
11:21 want before I get further in.
11:22
Collapse this transcript
4. Stitching the Rig Together
Parenting the wheel assemblies
00:00 Once the wheels are ready on the car, we can start parenting things up to our
00:04 master and body controller. The idea in our rig is that we're taking
00:09 lots of little pieces, such as the wheels here, and distilling their control farther
00:14 and farther up. So, four pieces are controlled by one
00:18 suspension control for example, and two suspension controls are controlled by one front.
00:23 The idea then, is that, we have a lot of pieces being controlled by fewer and fewer parts.
00:29 So eventually, we should be able to just drive the car by setting the squish in the
00:34 tires, pulling and moving the master control and steering.
00:40 We should have things like the body controlled through one controller, which
00:43 actually is just there as a pivot. We'll even put the control for that on the
00:47 steering, but that's getting ahead a little bit.
00:49 We'll start out then by getting the suspension controllers parented onto the master.
00:55 I'm going to pick my front suspension controller and pair it onto my master, but
00:59 I'll check the master first. And I'll make sure in the transforms that
01:03 it is in fact zeroed out. I'll choose Modify and Freeze Transformations.
01:09 So now it is at zero, zero, zero, with a scale of 1, 1, and 1.
01:14 While I'm here, I'm going to do this with my steering control as well, freeze the transforms.
01:19 And I'll do this with a body control that I can see hiding just under the door.
01:22 At every step of the way, before you parent, check the transforms.
01:29 And make sure they're frozen if they should be so we're not introducing any
01:33 extra scale into the equation. Now I'll take my front suspension, hold
01:38 Shift and select the master and press P for parent.
01:42 Now I'll also take the rear suspension and do the same.
01:46 Picking both objects and then the master and then pressing p for parent.
01:51 Here's the test. If I pick this master control and I pull
01:56 it forward on the z axis, my wheels break loose from my car.
02:00 There's no rotation yet, so they're moving as a static, and if I rotate them, they
02:05 spin around the front steering. I've distilled the control partway, and
02:12 I'm ready to look at getting the body and steering controls in place I tested even
02:17 that simple parent just to make sure there was no doubled or inherited position happening.
02:23 Making sure that one movement of the master made one movement of the
02:27 suspension, so the wheels don't skip ahead of the car.
02:31 Next, we'll look at getting the body parented onto the body control and then
02:35 finally onto the steering.
02:36
Collapse this transcript
Parenting the body
00:00 Once I've parented the wheels to the master I can get the body on as well.
00:04 To make it easier to see, I'll hit Ctrl+Spacebar, which goes full screen in Maya.
00:09 Then I'll use Ctrl+A to bring back my channel box or attributes, and finally on
00:14 my Hot Box, click in the space to the right of Maya and bring back my status line.
00:20 I typically work this way when I am not animating.
00:23 As I want the real estate on the screen verses having the extra tools and things
00:27 and the timeline down at the bottom. I'll select my master and hide it
00:31 temporarily by pressing Ctrl+H, and now I'm going to deal with the body.
00:35 The body is really a static, all the parts in the body need to just move with the car.
00:41 There's nothing I need to do in terms of animation on it.
00:45 So I'm going to pick all the body parts right here, selecting them all, and making
00:49 sure I don't grab the steering. And making sure that the last selected
00:53 object is that body control I had made earlier.
00:55 That circle we can just see peeking out the top.
00:58 If you're unsure about it, hold Control to deselect and Shift to make sure that's the
01:03 last selected. I'll press P for parent, and now the whole
01:08 body is parent to the body control. So when I select the body control and
01:12 rotate it, naturally the body spins. I'll show what I had last hidden by
01:18 choosing Display > Show > Show Last Hidden, and I can take the body and parent
01:24 it on to the master. I'll pick the body control noticing that
01:27 everything turns green to indicate that it is a parent with children, hold Shift and
01:32 pick the master and press P for parent. Again, a quick test.
01:37 If I take the master and pull it, except for the steering control, my car moves as
01:41 a static. Rotating this master control rotates the
01:45 car as a static object. This is what I want.
01:49 I want to move and rotate the car in the scene with one control, the master, and
01:54 everything goes with it. Once that's all together, I can get my
01:58 steering control on, and get the body rocking in place correctly.
02:02 you can also think about limits on the body rocking controller,.
02:06 And that way the body can't rock and flip completely over, but instead, just rocks
02:11 back and forth a little bit, to show banking and turning and leaning, over
02:17 those hairpin turns.
02:18
Collapse this transcript
Writing expressions for the wheels
00:00 Once you have the car parented and moving as a static object, you can think about
00:04 the expressions for the wheels. We want to use an expression for the
00:08 wheels that makes them roll on the road as we pull the master control forward.
00:12 What I need to do is solve for some kind of rotation for one forward unit of
00:18 movement on my Master Control. When I pull on the x axis, those wheels
00:23 should spin automatically. When I had made my original Nurbcircles
00:27 for the wheel, I had made one and not deleted the history and then cloned it around.
00:33 The clones don't have a radius, but in the original control front left, the first one
00:37 I made. The makeNurbCircle1 tab has that radius,
00:41 13.165 inches. What I'm going to do then is use the
00:46 circumference of the wheel to figure out what one increment of rotation is per
00:52 forward unit movement of the car. Here's how this looks.
00:55 I've switched calculator over to a scientific view, just because there's a pi
00:59 button there. We can go under View and Scientific to
01:03 pull that up. Now I'll get the circumference.
01:06 Taking 13.156 times 2, if we take the radius times two, that gives us the diameter.
01:15 I'll multiply this by pi, pressing times pi equals 82.661 inches around that wheel.
01:26 What I'm going to do then is say, what fraction of the rotation is given by one
01:32 forward unit of movement of the car? So I'll take the reciprocal of this 1 over
01:39 82.661 which gives me .012. I'll multiply this by 360, as there's 360
01:46 degrees around the wheel to get 4.355. That is the amount of degrees this wheel
01:53 should rotate for one inch forward of movement of the Master C ontrol.
01:59 I don't need all those decimal places. I can remember 4.355, and put that into my expression.
02:07 Back here in my event, I'm going to pull up my Expression Editor, and make sure I'm
02:11 putting the expression onto all four wheels at once.
02:15 These objects are named, and so they're easy to find.
02:17 Control front left, rear left, front right, rear right.
02:23 And so I'll put those in that same expression I had used on the tire squishes.
02:28 I'll choose Window > Animation Editors > Expression Editor.
02:33 Right now, I've still got the view going by expressions.
02:36 I can right-click and choose Select Filter by object name or Expression name.
02:40 And I'll often switch back and forth in here to get what I need.
02:45 Whichever object is picked is what shows here in the expression.
02:48 So when I pick the Control_Master, I can find the attribute I need.
02:53 In this case, the translateZ. I'll take this Control_Master.translateZ
02:58 and press Ctrl+C to copy it. And then I'll go back to my Tire
03:02 Expression by right-clicking and choosing Select Filter > By Expression Name.
03:06 I'll pick Tires, and there's the previous expressions I'd used for the wheels' squish.
03:11 I'll open up my Expression Editor. Go down a couple of lines and start to put
03:17 it my additional rotation. We're going to rotate these wheel controls
03:21 on their x axis. And I want to verify that in the view.
03:27 When I pick this NurbCircle and press E to rotate, maybe even hiding the geometry by
03:32 choosing Show and unchecking Polygons. I can see that it's rotating on the red x axis.
03:38 And when I press and hold E for the Rotation Marking menu and left click and
03:43 hold, I am verifying that I'm rotating locally.
03:46 So this wheel should rotate on the local s axis, and it's an important check.
03:51 Just making sure we're going to go on the right axis, so we don't get wobbly wheels.
03:56 Back here in the Expression Editor, then, I'll make sure that I'm putting in
04:04 ControlFL.rotateX equals what I had copied, Control_Master.translateZ, times 4.355.
04:24 That's my magic number from my solving for the amount of rotation.
04:28 I'll put in a semicolon, and test this out before I go any further.
04:33 I'll hit Edit, and down at the bottom it says result tires, meaning the expression
04:38 is valid. As a node and expressions, make sure that
04:41 you've got the text right. Maya is case sensitive, that means that if
04:46 I had put in a small f, for example, I would get an error.
04:50 So, you've got to get the naming right and be deliberate in the naming.
04:53 This is where that naming is really key. Not necessarily in picking the objects,
04:58 but in the Expressions where we are targeting an expression on a unique named node.
05:03 I'll minimize this or pull it to the side, and show my car.
05:11 Here's the test, then. If I select the Master, press W for move
05:15 and pull this forward, that wheel rotates, and it's in contact with the ground.
05:21 I know it's working, and so now I can Copy and Paste the Expression.
05:26 I'll select that whole line, press Ctrl+C for copy.
05:30 Press Enter for a new line, and Paste it in three times.
05:34 Now I'll put in the new names. Control front right, rear left, rear right
05:42 and hit Edit, it works. And there's one more thing I'd like to do
05:47 here at my Expression Editor. I'll put a new line above this this Squash
05:51 and put in some comments. The double slash denotes comments and a
05:55 lot of different code. I'll put in, Tire squash controls.
06:05 And down here. //, (SOUND) tire rotation controls.
06:14 And this way, somebody who opens this up and reads it has a good idea about what
06:18 each chunk of code is. Now, any good rigger should be able to
06:22 open up these lines and see, I see what they're relating.
06:27 But just in case, it's handy to comment things.
06:29 And as we get more and more complex in our expressions, comments are useful.
06:34 It's more difficult to read code than it is to write.
06:37 And so any opportunity we have to make it easier on somebody who is not ourselves,
06:42 reading our code we should take it. It's a nice thing to do.
06:46 I'll hit Edit and my expression is valid. I'll close my Expression Editor and test this.
06:54 If I grab the Master Control and pull, the wheels rotate on the road.
07:00 Now, this is good on the z axis, so obviously, if I rotate this master, I'm
07:05 going to get an odd rotation. Where I want to use this car is probably
07:09 on a motion path. Where we get more complex is if we want a
07:13 free car, where we can rotate that master and move the car anywhere and wheels spin automatically.
07:20 What that gets into are expressions, that govern vectors for direction in magnitude,
07:26 as well as, the placement, of the wheels. Where they are, form where they were, and
07:32 it's a different kind of expression. For now, though, I'm happy being able to
07:36 move the car, and have the wheels roll. And wherever I put this, those wheels are
07:42 going to roll, responding to the z axis of that Master Control.
07:46 Once I've got the wheels rolling, then I can start to look at the body and steering
07:50 controls in the next expression. We want to work through our car, so that
07:55 it is static, then it rolls. And then finally it is steerable, making
08:00 sure we test it every step along the way, and using our expressions to relate
08:05 unequal attributes
08:06
Collapse this transcript
Writing expressions for the steering and body
00:00 In the sequence of car rigging, once we've got everything parented to the masters
00:04 estatic, and then the wheels row. It's time to look at rocking and leaning
00:09 the body and then steering the car. I'll start out by getting the rock and
00:13 lean controls together. I've got a controller in here for the body.
00:17 This circle, we can see, is peeking out of the door.
00:19 And obviously this is not a good control to have to hunt for.
00:23 It's there really to provide the pivot and to have all the disparate parts of the
00:27 body parented to it. What I'd like to do is actually put the
00:32 control for rock and lean on my steering. So rotating the steering on the y-axis
00:37 steers the wheels. Rotating on the Z-axis rocks the car side
00:41 to side, and the X-axis leans forward and backward for acceleration and deceleration.
00:47 This way, I've got 1 control doing 3 things and I don't have to hunt for
00:53 another control. It's a straight forward expression.
00:57 Simply relating rotation to rotation. I'm going to do it with my expression
01:01 versus another constraint, because I already have an expression going and being evaluated.
01:06 This will keep it a little more streamlined and avoid maybe a possible
01:10 slow down in the animation. I'll pull up my expression editor,
01:13 choosing 'Window', 'Animation Editor', 'Expression Editor'.
01:18 There's my expression tires and I have my select filter set to by an expression name
01:23 to pull this up. I'll scroll down and put another comment.
01:30 I'll call this one steering and rocking and leaning.
01:37 And now I'm ready to get the expression in.
01:39 I can actually copy and paste my names here, taking the transform node, control
01:44 stirring and putting it directly in this line.
01:49 It's going to be Control_Steering.rotateX. Now this is going to relate to the body,
01:59 and so, even though I put the name in here, I actually need the body first.
02:03 In expressions, we always start with what's first.
02:07 This is what is being driven, in this case, for example, the rear left wheel is
02:12 being driven by the control master. So we need to make sure we have the right order.
02:16 So a lot of what I'll do in writing expressions is just copying and pasting in
02:21 the right order here. Sometimes using maybe a notepad as a
02:24 scratch working space. In front of this then, I'll put in control
02:31 body .rotatex equals control steering .rotatex, I'll put a semicolon after, and
02:42 hit edit. I get result tires, which means I got the
02:46 syntax right. You can always check, the expression
02:49 editor is modeless, and floats over things.
02:52 So if you need to go back, and pick something, like let's say the body, for example.
02:57 You can check, and verify the naming, it is control underscore body, and so I go it right.
03:03 Now what I do then, is also copy, and paste this line down, and change the x to z.
03:09 This way I have rock, and lean control. On my stirring and it's a straight 1 to 1
03:16 in the expression. Now I can get the actual stirring at the
03:20 wheels end. I'll hit edit and just verify this works.
03:26 If I select the steering, I can rock the car side to side.
03:31 Rocking on the X axis, well makes it pass through it's wheels for the moment because
03:36 I haven't limited it. But the rotation is working.
03:41 Because it's an expression it's evaluating it based on the object's pivots.
03:45 So even though I'm steering from up here this car body is rocking from the center.
03:51 For the steering then, I'm going to get the names of the locators.
03:56 Choosing show and unchecking polygons so I can see a little more clearly.
04:01 These locators are called steering front right and front left and I'm going to
04:05 rotate them on their y axis. Back here in my expression editor then
04:11 where I'll choose window animation editor expression editor to get to I'll select my
04:16 tires, scroll down and get my steering in place.
04:21 We can copy and paste again. We'll take control steering, and change
04:26 rotate z to rotate y. But I'll also put in steering F-R, and
04:35 steering F-L. This is how that expression looks.
04:44 Steeringfrontright.rotate y = controlsteering.rotate y If you rotate one
04:51 the other goes with it. I'll take that line of code, copy and
04:55 paste it down, and change front right to front left.
04:59 Because so many things in the car are identical, it's simply a matter of
05:03 changing the name. And frankly, it should be that easy.
05:05 We shouldn't have to be hunting for names. With a consistent name and convention, the
05:10 expressions go very fast. Because of the way we've set it up and
05:14 parented it, we've also distilled the control down so that the expressions are
05:18 concerning let's say four objects for the wheels that are actually rotating sixteen.
05:24 I'll hit edit, and there's my result tires, meaning my expression works.
05:29 What we can see also in the attribute editor for the steering front right
05:33 control is that the rotate y field is now highlighted in yellow.
05:37 What this means is that there's an expression controlling that attribute.
05:41 That we cannot simply grab the front right steering locator and rotate it on the y
05:46 axis anymore because it is controlled by the expression tires.
05:50 And there's that expression written out on one line.
05:52 We can always edit it. Right from here in the Attribute Editor, I
05:57 can right-click and choose Edit Expression if I need, or I can pull up the Expression
06:01 Editor in any number of other ways. I'll close my Expression Editor and test
06:06 this out. I'll show my car again, pick that
06:10 steering, and rotate. There's the steering.
06:15 And here's the rocking, and even the leaning.
06:18 And unfortunately, I've mashed the car completely off its suspension.
06:21 But my test works. The three different axes of rotation on
06:26 that steering control are controlling the correct pieces on the car.
06:30 Steering the front wheels, rocking and leaning the body and doing each one on the
06:35 correct pivot for that particular object. So that my wheels steer together correctly
06:42 and my body rocks and leans around the center.
06:44 There's the steering and both go in the right direction.
06:47 And again that body Rocks around the center of the car.
06:57 In this rig, then, we want to get all of the pieces in place and working, and then
07:02 apply the limits. That lets us get those parts in, and test
07:06 them out thoroughly, before we're dealing in the limit, like, for example, on the wheels.
07:10 That's very, very small. We want to verify something works and then
07:14 damp that motion down to be more realistic.
07:17 With the expression for the steering and rocking lean in place I'm ready to get the
07:21 limits going. I can do that and my car (UNKNOWN) is
07:24 almost ready.
07:25
Collapse this transcript
Limiting rotation of the steering and body
00:00 In the car rig, once the controls are set for the steering, rocking and leaning, we
00:05 need to get some limits on. We've limited other things, like the up
00:09 and down motion of the wheel and the squash of the tires.
00:13 I'm going to limit the steering in the same way, so that I can't over-steer the
00:17 wheels and I can't over-rock the body. We always want to get that control in
00:21 first and test it. Seeing the full motion, even if it means
00:25 seeing the geometry passes through itself, before we put a limit on, so, we can
00:29 verify it's working. I'll pick my steering control.
00:33 Because of the way I've distilled the control in the car down, if I limit this
00:37 one controller, the rotation of it's, children, or the things that are driven in
00:41 the expression are automatically limited, so I only have to limit one piece.
00:47 I'll test it out. When I rotate on the y axis, it looks like
00:52 I can get through about 30 degrees of motion give or take before that wheel
00:57 starts to clip. Maybe a little bit less, right around 25
01:00 will probably do. So I'm going to limit the Y rotation on
01:04 the steering to 25 and negative 25. I'll verify this, and just make sure that
01:10 wheel doesn't obviously pass through the geometry.
01:13 That's for my steering and then for the body It feels like I can limit this way down.
01:19 I'll make sure I turn off my discrete rotate here, and it looks like over about
01:24 2 degrees. That's plenty of lean side to side.
01:29 For the front and back again, maybe two degrees is enough.
01:33 That's a lot of lean front to back on a car like this.
01:36 With my steering control selected, I'll scroll down to the limits, bypassing
01:42 Translate and going into Rotate. I've frozen the transformed, so this
01:46 starts out thinking it is at, a rotation of zero zero and zero.
01:51 This way in my limits I can make my current 0 and put in my plus and minus 25,
01:57 for example. First, I'll check all the boxes to turn on
02:00 the limits. For the rotation x limit, I'll go from
02:05 negative 2 to 2. Rotation y will be negative 25 to 0, to
02:12 25, and rotation Z will be negative 2, 0 and 2.
02:18 I'll test it out again, no matter how much I try to rotate that steering, that's all
02:23 I get, and side to side I just get a little rock.
02:27 It's just enough here, that if I'm delicate when I animate, I can make that
02:31 car really swing correctly. And here's the front to back.
02:35 Just enough that if I need to show a little bit of leanback in an acceleration,
02:40 I can put that in for that subtlety in my animation.
02:43 My limits are in place. I've already put limits on the suspension,
02:47 and I'm just going to verify that this is working correctly.
02:50 The front individual suspension let's me go well, right through the car if I need,
02:58 but the master front suspension is limited, so that I just have a two degree swing.
03:03 Just a little bounce. I'm assuming that my animator will watch
03:07 out and not shove the wheel through the car and so, I'm going to leave that front
03:10 suspension unconstrained. But let the master front suspension handle
03:15 the limitation. For the rear, I'll do the same.
03:18 I'll leave the limit unconstrained. And that way, if I really need to shove
03:23 those wheels up if we just went over a jump, I have that possibility, and I'll
03:27 assume that the animator again is going to watch out for where that is.
03:32 These controllers then are starting out zeroed.
03:35 And so I want to make sure that I can always return back to that position if
03:40 needed and leave it unlimited. My car rig is ready, and I'm on to bonus
03:47 things in the car. I'm going to put in a drift control and
03:50 also an overspin. Because in a car like this, who can resist
03:54 tapping the gas and smoking the tires a bit?
03:57 We also want to see in car ads the possibility, especially, of slow motion
04:02 and seeing those wheels overspin. So I'll get some extra attributes in, and
04:06 take this rig beyond the basic functionality.
04:10
Collapse this transcript
5. Additional Functionality and Control
Custom attributes for overspin on the drive wheels
00:00 In the car rig, once you've got the basic controls in for rolling, steering,
00:04 rocking, and leaning. You can start to think about additional
00:08 controls for things like over spin on the rear tires, and headlights.
00:12 For example, this is a fast rear wheel drive car.
00:16 And so, we might want to hold the break and tap the gas, making these rear tires,
00:20 spin out a little bit, without moving the car.
00:23 We may also want, in a slow motion shot, in a car ad, something like this, to see
00:28 this car go by and those wheels over-spinning and kicking up mud or dirt.
00:33 I'll add in an extra attribute then. That gives me overspin control on the rear
00:38 wheels, and I'll put a seperate one in on the front.
00:41 This way I can do one or both if I need. As the front wheels aren't driven, I may
00:46 want to have them simply slide a little bit, but let the rear wheels really spin out.
00:52 I'll select my master controls, and in the channel box, choose edit.
00:57 Add attribute. I'm doing this in the channel box so that
01:00 this appears in the Control Master section, right under visibility.
01:04 We can also do it in the attribute editor, we just have to make sure we're in the
01:08 Transform node when we add in the extra attribute.
01:12 I'll name this first, calling it "Overspin".
01:17 This is going to be a float, a number with three decimal places of accuracy.
01:21 In our data types, we can also choose lists, if we need, or enum.
01:26 We can do a Boolean, which is an on-off switch, or even an integer, and whole numbers.
01:30 I'm going to make the minimum for Overspin one.
01:34 Leave the Maximum blank, and put the Default at one.
01:38 So, with nothing done to overspin, the wheels roll normally.
01:43 Only when I take overspin and pull it up past one, will the wheels spin extra, as
01:48 part of their rolling. I'm putting the Minimum at one, so I can't
01:52 negatively overspin the wheels, and take the rotation below normal rolling of the car.
01:58 I'll click OK, and now I have that extra over-spin attribute on the control master.
02:04 I'll go into my Expression Editor and put this on to the rear wheels.
02:08 I'll choose Window > Animation Editors > Expression Editor and here's my tire's
02:13 expression, which I can get to again by right clicking and choosing Select Filter
02:17 By Expression Name. I'm going to switch back though, to
02:21 object, attribute, name here and here in control master, down at the bottom, is over-spin.
02:28 I'll select that name. Control underscore master dot over-spin.
02:32 Press Control C to copy and then switch back to seeing the expressions.
02:38 Here in tires, then, I'll scroll down to my tire rotation control section, and I'll
02:43 put in after the 4.355, times that name. It's important to have
02:50 control-master-dot-over-spin in here. If we put in just over-spin, we'll get an
02:54 error in the syntax, because over-spin on it's own is not pinned to a particular object.
03:00 Here's how this looks. If we just put in overspin, and hit Edit,
03:07 we get an error. Expression invalid after edit.
03:10 Because overspin is not pegged to a particular object, but when I put in the
03:15 full name and hit edit, I get result tires.
03:18 When I scroll down again. It shows, that's the full sequence,
03:24 translate z times 4.355 times_control master.overspin, and everything is named correctly.
03:32 I'll take this and put it in the right place.
03:34 If you miss where you put an expression in, you can always select it and delete
03:39 that attribute. I had accidentally put it on the front
03:41 instead of the rear, and this is a rear wheel drive car.
03:44 So I'll put in times and paste that in with Control V and do the same on the
03:50 other rear wheel. So now both rear wheels over spin is
03:54 control by the one attribute on the control master.
03:57 I'll hit Edit I get result tires again. And close and here's the test.
04:03 Click and drag across Overspin, and pick Overspin on 1.
04:07 With the mouse wheel, click and drag in the view, and spin that tire out.
04:12 And now as I crank up Overspin, that wheel is rotating.
04:17 It doesn't take a lot to really get that wheel going.
04:19 Right now, because I'm not animating the car I'm just using overspin to rotate the wheel.
04:25 Which is why I'm not getting much rotation.
04:28 Once this car starts to roll, I'm really going to see that kick up.
04:32 If you 'd like to put in one for the front wheels you can.
04:36 You may want to call it something separate, because this is not a
04:38 four-wheel-drive car it's a two-wheel-drive.
04:41 And the real wheels are the drive heels. To have a spin on the front assumes you're
04:46 drifting in the car. That you're breaking lose the rear-end and
04:50 the car is sliding sideways on the tires. We can put in an attribute like that
04:54 called Drift fairly easily by adding in an attribute.
04:58 I'll name it Drift Wheels. And set the minimum in default, again, to one.
05:07 It'll be afloat and I'll OK it and I'll go back into that Expression Editor and edit
05:14 that expression. Here in Tires then I can remember that
05:19 name or I can simply copy and paste it in. I'll take my Control Master.
05:25 > Copy it And add in this "DriftWheels" onto the fronts.
05:31 So I'll put in ".DriftWheels". Remember, Maya is case sensitive, so we
05:40 have to get that exactly right. We also have to get the spelling right.
05:43 Putting in "DrfitWheels" is not going to get me the right expression, and I'll get
05:47 an error. So it should be "DriftWheels".
05:52 I'll take this and copy and paste it down into the next line, the front right control.
05:57 I'll hit "Edit", and I get a result "Tires", meaning my expression is again valid.
06:05 When I close it, if I take "DriftWheels" and crank it up.
06:09 I get a rotation. So if I am drifting this car, I have the
06:13 ability to spin out the tires and differentiate between the front and rear,
06:18 driven and not driven wheels. Once those are in, we can start to look at
06:23 other expressions. Looking at how to control the headlights
06:26 and taillights without having to go in and pick the material.
06:30 Because we may want to organize the car so all the geometry is on the layer that is a reference.
06:35 Or is simply unavailable for selection.
06:38
Collapse this transcript
Creating normal and bright headlight controls
00:00 The next custom attribute to add onto the car are controls for headlights and high beams.
00:06 I'll add this control on the master so that I have all my control in place.
00:10 Right now I've got overspin and drift on that control master on the transform node.
00:14 And we can see it here in the attribute editor pressing Ctrl + A and scrolling
00:18 down into the extra attributes. Making sure we're in the transform node
00:22 first, and there's over spin and drift. Each node can have it's own attribute.
00:27 So here in the shape node, there's an extra attribute's roll out with it nothing
00:31 in it currently. It's important to watch where those extra
00:34 attributes go when you're adding them on, so we're not hunting for controls.
00:39 So I'm making sure that I am in the transform node to add these on.
00:42 So in my channel box, pressing Ctrl + A again, those things show up right here at
00:47 the top in Ctrl + Master. Now adding an extra atrribute for the
00:50 headlights and also for the high beams. And what this will do is control a spot
00:55 light for the headlights. And also the intensity of the material.
00:59 By default it will be at 0, meaning I will be multiplying those values by 0, so it is
01:05 not on. When I turn them on then, I will be
01:08 multiplying the intensity of the light and the material's self-illumination to make
01:12 it look like the headlights are on. I'll choose Edit, and Add Attribute.
01:17 In here first, I'll put in a headlights control.
01:23 I'm going to leave it as a float with a minimum of 0 and no maximum, and a default
01:27 of 0. The reason to leave the maximum off is
01:30 because we may use this in a mental ray rendering solution.
01:35 With a mental ray photographic control, depending on how we're seeing it through
01:40 the exposure control. How stop down the aperature is and what
01:44 our ISO is and our shutter, we may want the ability to brighten up those
01:49 headlights considerably. So we don't want to put in a maximum here
01:52 and artificially cap how bright we can go. We want to give our visual effects artist,
01:57 or our lighting artist, let's say, the flexibility to brighten up this attribute
02:02 on the car to make the beams look right. I'll add this in by clicking Add.
02:07 And now I'll put in one more for the brights, or the high beams.
02:10 I'll name this high beams. Noting that I've inter-capped here the big
02:16 b in beams. And again, I'll put a minimum of 0, a
02:19 default of 0 and no maximum. This is a place, if you'd like to
02:24 customize, to put in a maximum of, let's say 2 or 3.
02:29 Whatever percentage brighter the high beams should be over the regular.
02:33 In this case we'll assume that the regular headlights are on, and we switch over to
02:37 the high beams by increasing this attribute up to a fix point.
02:41 Or we can simply leave it alone and again have that flexibility and rendering to
02:46 really boost up those high beams. I'll click Okay.
02:50 And now I've got two attributes here in the Control Master.
02:53 I'll get the material on, and then I can think about connecting once I have any
02:57 other attributes done. I'll zoom in on my headlights, and select
03:01 and isolate those pieces so I can see what I've got going.
03:04 In each headlight, there's a lens, a trimring, and then the body of the
03:09 headlight, we'll call it. I'll choose Show and Isolate, and View
03:13 Selected, and I can see them fairly clearly.
03:16 I have the outer lens, and its pivot is actually over here.
03:22 There is the trim ring which is going to get a chrome, and then this inner backing.
03:27 If you have more detailed headlights, you may actually have Bulbs and reflectors and
03:33 lenses in there, and you just need to watch out, which material goes on which piece.
03:37 So that the bulb looks bright inside the glass of the headlight.
03:41 What I'll do for this car though, is put this glass on with its own self
03:46 illumination, so it looks like glass until it gets bright.
03:51 I'm going to pick that glass. And make sure I grab the other one.
03:54 I'll exit the isolation. And hold Shift and pick the other headlight.
03:59 And assign a new material. Right-clicking and choosing Assign New Material.
04:05 In my new materials under mental ray, I'll use my MIA material x-passes.
04:10 I'll slide the nameless slider, and that sizes up the material so they're easier to read.
04:16 I'm going to use an mia_material_x_passes so I have the compositing flexibility of
04:19 the x_passes, putting out extra render passes such as velocity and broad diffuse
04:26 color for a compositing solution later. In my x passes then, the first thing I'll
04:33 do is I'll scroll over and name that material.
04:35 Calling this Headlights. In my presets, I'm going to choose Glass
04:45 Thick and replace. I went in my presets and tried to apply a
04:49 Glass Thick and I got an error at the bottom.
04:52 That's a Maya error. Occasionally it forgets we're dealing in
04:55 this material. What I'll do then, is just try it again,
04:58 choosing Presets, and Glass > Thick and Replace, and now it works.
05:04 Once in a while, Mental Ray seems to forget it has a preset, and you just have
05:07 to reapply it. This is thick glass, meaning it is
05:11 refractive if we need. It's made for, typically entry and exit
05:15 normal, but it'll give us the right refraction on our lenses.
05:18 We can also take these lens objects, and clone them, making inside faces, if we
05:23 really need to get close in the headlights.
05:26 But this'll look correct, like, well glass headlights for now.
05:28 I'll scroll down, go into the advanced section.
05:34 In the advance section, in the additional color, I'm going to put in an MIA light
05:39 surface node. I'll click on the texture for additional
05:42 color and in the create render node dialogue under mental ray texture, I'll
05:47 put in my MIA light surface. What this does is let that material emit light.
05:54 Although we may not need it to emit light, Because we are going to put in actual
05:57 lights to cast light out on the road. It also has final gather and reflection
06:02 contribution sliders. So that we can correctly dial up and down
06:07 for the look we want, the intensity of the self illumination of the material and the color.
06:12 If we want the reflections of the headlights to show up more on a wet road,
06:16 for example, we have an attribute right here, reflection contribution to over
06:21 crank that brightness. If we need this to actually cast light in
06:25 the scene we can by using the final gather contribution, alternately, we can take
06:30 this material and leave the final gather contribution of those bright elements out.
06:35 So that they don't affect our final gather, casting final gather from small
06:39 objects all over a large object, giving us possible splotches and final gather artifacts.
06:45 It has a separate intensity, and in our expressions, then, will get the intensity
06:49 of this material wired to that headlight control.
06:53 So we can turn on the intensity of our headlights.
06:56 There's one more thing I need to add here. And that's the actual light.
07:00 I'll choose Create > Lights > Spotlights. I'm going to create a standard spotlight
07:07 for now. And if we need, we can add in mental ray
07:10 properties later. I'll take this spotlight and align it onto
07:14 that headlight. Holding Shift and taking the headlight geometry.
07:17 And choosing from my Hotbox Modify Align tool and aligning this into the center.
07:24 Here's center, and in a top view or close to centered.
07:28 And then I'll bring it forward. I may need to slide around so I can see
07:35 this clearly. Alternately I can just deselect and go
07:39 find that light, which looks like it's way off in the distance.
07:42 I'll hold control and deselect the geometry, press W to move and slide that
07:46 light forward. I'll focus in on the light and it's very
07:50 very tiny. Typically lights are drawn in Maya with a
07:53 locator scale of 1. What I'm going to do Is leave that locator
07:58 scale alone under object display. I may want the possibility of scaling the
08:03 light using the actual object's scale to scale up the admission area of that light
08:09 so the shadows come out spread. I also may want to leave the shadows crisp
08:13 and so I want to see the actual scale of the light if I need to scale it.
08:17 So I'll leave the locator scale alone. I'll rotate this light around by pressing
08:21 e, making sure my discrete locate is on, by pressing and holding e and
08:25 left-clicking and holding anywhere, and spinning this light.
08:28 There's a 180 degrees, and I'll put this light just in front of the headlight.
08:36 Then I'll parent it to the geometry after I clone it.
08:39 I'll name this light, calling it headlight left.
08:42 Clone it, and parent to that headlight lens.
08:45 With the light named, I can press Ctrl + D to duplicate, hold Shift and pick the next
08:54 lens and align it. As these headlights don't need to turn, I
09:01 can simply parent them straight in. Picking the lens, and pressing p for
09:05 parent, and doing it on the other side. I'll make sure I name that last light, so
09:12 I can find it when I get to my expressions, calling it headlight right.
09:20 With the headlights in place,and the attributes to control them, I need to
09:24 think of anything else in those custom attributes to add in.
09:28 As I'll be putting the expressions to control these lights in that same tyres expression.
09:32 So all my expression are together and being evauluated at the same time.
09:36
Collapse this transcript
Adding brake light and turn signal controls
00:00 Adding in the brake lights and running lights, and also turn signal indicators,
00:04 follows the same method for the headlights.
00:07 We need to add in an attribute, and then get a material on, so we can later connect
00:11 it in an expression. First, I'll add in the attributes onto my
00:14 Master Control. I'm really looking to keep all the control
00:17 in one place here. I'll go in the control master and there's
00:22 my extra attributes. I can do it here or in the channel box by
00:26 pressing Ctrl + A, and under Edit > Add Attribute.
00:30 First, I'll add in brake lights. We have an option here on how we add this.
00:35 Do we want one or two controls? We could say here's one brake light
00:39 control, and it can simply get brighter being keyed, if we need when we brake.
00:45 Or we can put in normal running lights, and brake lights, and then have a separate
00:50 control for it. It's really up to you how you would like
00:53 to add these pieces in. What I'm going to do is add in one control
00:58 for the brake lights. If they're on, just normal running lights
01:02 it's one intensity, and if we need to brake we can simply key that intensity to
01:06 go higher to show braking. I'll put the name in, calling it brake lights.
01:14 I'll set the minimum at zero. No maximum and a default at zero, again.
01:19 So that without any alteration, the brake lights are off.
01:23 This way, if we're running in the daytime, we simply animate them turning on when we brake.
01:28 If we're running at night, we'll simply start out by putting in this attribute at,
01:33 let's say, a multiplier of three, so the lights are on as running lights.
01:37 And then key that multiplier to go higher if we're actually breaking.
01:41 I'll add this in and then put in the running lights.
01:44 Now, here's the thing with the running lights, on this particular car, the front
01:52 running lights are also the turn signal indicators.
01:55 So I should probably put in dual controls. Running light left and right.
02:01 So I have the option to turn them on and make them flash.
02:05 I'll call this one running light, left. Select the name and copy it.
02:12 Put the minimum at zero. No max and a default of zero.
02:16 And hit Add. And then I'll paste in this name and make
02:20 this running light right. And again 0, nothing, and 0.
02:27 I'll click OK. And now, I've got my controls in here.
02:31 We may want to slim down our channel box a little bit.
02:34 What I'm going to do is hide the scale. I don't need it here.
02:39 I shouldn't be scaling this Master Control at all.
02:41 And so, I'll select all three of those scale attributes, Right Click and choose
02:47 Hide Selected. And now scale is no longer available.
02:52 I can always get it back by right clicking and bringing those back.
02:57 I don't need to. I shouldn't need to scale that master at all.
03:01 It should be a fixed size car in my scene. Now it's a little more manageable here,
03:05 and I've got translate, rotate, visibility if I need, and my custom attributes.
03:11 If you're feeling really slick in your scripting you could even take this and put
03:14 it on a custom window, using your mel script to draw a window and adding in the
03:18 attributes, but that's beyond this particular video.
03:21 What we want to do is have our control in one place, so we can say let's turn on
03:26 headlights, brake lights, and running lights all at once.
03:30 Now that I've got those attributes in, I'll get my materials in place.
03:36 I'm going to pick my running lights. For these, they're going to be in orange.
03:40 Kind of looking like a glass but we really don't need to see in.
03:43 If we hide these temporarily, they're just really a ring pasted on the car.
03:47 So it should be fairly opaque. I'll right click and choose Assign New Material.
03:54 In my new Materials under Mental Ray. I'll scroll down and put my MIA material on.
04:00 Here's my X passes. In the X passes, the first thing I'll do
04:06 is name it and I'll call this running lights.
04:10 I'll go in my presets and I'll use my last pick, we could use glass thin in this one
04:17 because it doesn't do any refraction. But in case we have the possibility in a
04:21 camera of seeing these lights up close, thick will give us a little bit of a bend
04:26 in what's going on in there. Here's glass thick and I'll scroll up and
04:29 go into the diffuse section and get the color right.
04:32 I'm going to start this out as an orange. They'll begin this way.
04:40 Nice and bright and orange, and we can even add in a little more glass-like
04:44 property if we'd like. What I'll also do, though, is scroll down
04:48 to the Advanced section, and add in that MIA light surface node.
04:53 Going into the additional color. Clicking on the Texter.
04:56 Going under Mental ray texters, and putting in my MIA light surface.
05:01 This way, I can put a color in if I need, to make these go bright.
05:06 And I got my final gather and reflection contribution.
05:09 If you'd like an advance, you can click on the color, and there's that same orange
05:13 I've preserved here in my color history. What I'll do is later animate that
05:19 intensity or pull it down to zero to start.
05:22 It's going to be driven in the expressions by those attributes I've put in.
05:27 So I really don't have to worry about it now.
05:29 As it will zero out, because of the default intensity of those custom attributes.
05:33 But it's going to look like these are bright on anyway, until I get them connected.
05:39 I'll do the same with my brake lights, spinning around to the back, and selecting
05:43 the actual brake lights. It's always good to check what's going on
05:46 with the Geometry. These, again, are really just pasted on.
05:50 There's kind of an interior shell to it, but there's not a bulb.
05:55 So I need to make sure that material is fairly opaque.
05:58 I'll pick both brake lights. Right click and Assign a new material.
06:01 Pick my MIA, and name this material brake lights.
06:10 When we pick an MIA, we get a shading group, and that actually governs other
06:15 parts in the material if we need. What the surface is.
06:18 And if we need to add in things like contours for example.
06:22 For now though, I can ignore the shading group and go into brake lights, and I'll
06:26 choose my glass thick preset again, and put in a red.
06:35 Here's a bright red with a little bit of warmth in it.
06:39 I can always back off the saturation slightly if I need and fine tune that
06:42 color based on photo reference. But I just need to get the color in for
06:45 the moment. One more time I'll scroll down to the
06:48 advanced section and put in that additional color node using mental ray
06:52 textures and an MIA light surface. We can, again, put in that color if we like.
06:58 We're going to bring this down to 0. But now the bright by that same red and
07:03 later we'll animate that intensity. With my self illuminating parts in the
07:08 car, it's starting to take on a little bit of life.
07:11 Instead of being just gray, I can at least see it's got running lights, the
07:14 possibility of headlights and brake lights.
07:19 Once I've got all the custom pieces on, I can start to think about the expressions
07:23 governing multiple attributes with one expression, so that I can turn on the
07:28 brake lights and running lights and then key them if I need, from the Master Control.
07:32
Collapse this transcript
Connecting self-illumination and lights to controllers
00:00 With all my attributes added on, it's time to get the expressions working to control
00:04 the headlights. I realize I may have introduced one
00:06 attribute too many and here's where. On the Control Master, I have an attribute
00:12 for Hi Beams and Headlights. Both of those default to a value of 0.
00:16 I was thinking originally, I should multiply them together.
00:19 And that would get me either Regular Lights or Hi Beams.
00:23 However, if Hi Beams are 0, that means I'm multiplying by 0 and my lights aren't on.
00:29 If you realize you've added in an extra attribute, and you go and think through
00:33 the expressions and say, wait a sec, that math is not going to work, you can take it out.
00:38 I'll select Hi Beams and choose Edit and Delete Attributes.
00:43 Now Hi Beams is gone and I just have Headlights.
00:47 This way, with a value of zero in headlights, my lights will not be on.
00:52 Scrubbing forward to turn up those lights means I will be multiplying by a positive
00:57 value of headlights and so the lights will be on.
01:00 And I can simply increase that value for my Hi Beams.
01:02 Taking my control from two places down to one, and avoiding a multiply by 0 scenario.
01:09 It's important to think through these things in the attributes.
01:12 A lot of times what we do in the expressions is to multiply things together.
01:15 And so, we need to get this right so that we can turn on the lights.
01:19 Now, I'll get my expressions ready. First, I'll select one of the lights.
01:24 Press Ctrl+A to go the Attributes Editor, and right-click on the Intensity to find
01:29 out the name of this attribute. I'll choose Create New Expression.
01:33 If you don't know the name for things, this a nice way to be able to figure out
01:37 what they're called. Here's what this is called.
01:40 HeadlightLeftShape.intensity and in front of it is a transform, and what it's
01:45 parented to, the outer glass. I'll select it, pressing Ctrl+C and
01:50 copying, and then I'll get into my expression.
01:53 I'll choose it by name and it's called Tires currently.
01:56 To start, I'll rename, calling this Cobra, this way, somebody looking at my
02:01 expressions will know that this is an expression for the whole car.
02:04 Instead of seeing tires and assuming that in only controls the tires.
02:09 I'll go down to the bottom of my expressions and add in one more section of comments.
02:14 I've commented in Lighting Controls. And now, I'll paste in this line.
02:23 I'm going to make this equal my Control_Master.Headlights.
02:29 What I'll do is often select and copy a line here, pressing Ctrl+C.
02:36 And this way, when I select an object such as a control master Right-click on
02:40 headlights, and create a new expression. I haven't lost what I'm doing.
02:45 It's called Control_Master.Headlights. But I'll go back to my Cobra expression
02:49 and be able to find that and name it. I forgot to hit Edit, and that brings up
02:55 an important point. If you're working in Expression, it's not
02:58 saved automatically, therefore what we have to do, is make sure we hit edit, to
03:02 save that expression after we've edited it.
03:05 I'll put back in that comment, and then get that expression in for the lights.
03:11 I'll paste this back in, HeadlightLeftShape.intensity equals Control_Master.Headlights.
03:23 And I'll put a semicolon afterwards. And before I hit Edit, I'll select this
03:30 line and press Ctrl+C to copy. When I hit Edit, I get result Cobra.
03:36 The Ctrl+C is a safety. In case this didn't work I won't lose that
03:40 whole line of code. Now, I'll take this and paste it down below.
03:46 In this next line of code, I'll change left to right and this'll affect both lights.
03:51 I'll hit Edit and I get an invalid expression.
04:01 The reason for it is straightforward. We've already defined the transform once.
04:06 And so, in front of the Shape Node, this extra bit about the transform is actually wrong.
04:11 What it's saying is that this light is linked to transform 1238, but it's
04:16 actually not. It's parented to something else.
04:19 So rather than find that transform, I can simply delete that section and hit Edit.
04:30 I still have an error here. Now, what we're seeing is that I need to
04:33 go find the name for that object. When we're writing an expression, it's
04:39 worth seeing how to get out of something if we need.
04:43 What we've got then is the right attribute from the master, but something in the
04:48 headlight shape intensity is off and I see what it is.
04:53 At the moment, I've called it HeadlightRighShape instead of HeadlightRight.
04:58 This is where precise naming comes in and being careful in how you type things in is
05:03 very important. When I hit Edit, I get my result Cobra and
05:08 I'll hit close and see if this worked. Right now, if my Control Master had it's
05:13 headlight's value at 0. My lights when I go and select them have
05:18 an intensity of 0. It's purple here in the intensity.
05:22 Meaning its governed by the expression which is in the cobra tab up here at the top.
05:26 When I select that control master and crank up that headlight value.
05:32 Each light should now have an intensity of 44.
05:36 Now, work on the material. The object, temp headlight outer glass,
05:41 now has a material called Headlights. And in that material in the Advanced
05:45 section is my additional color. In the additional Color, I'll right-click
05:50 on Intensity. And create an expression, so I can see the name.
05:53 It's called mia_light_surface1.intensity. I may want to rename that light surface
05:58 node, so I can find it a little bit easier and so the naming makes sense.
06:03 I'll take this and rename it. I'll call this headlight lum for Luminance.
06:11 Now it's going to be called HeadlightLum.intensity.
06:15 And that's what I will use my expression from my headlights on the Control Master
06:19 to control. Back here in my Cobra expression I'll
06:23 scroll down to the bottom, and I'll put in HeadlightLum.intensity equals ControlMaster.Headlights.
06:37 Making sure I just grab that one line. I'll select this whole line again and then
06:44 copy it, just for insurance and then hit Edit.
06:48 I get a result Cobra and now here's the test.
06:52 With the Control_Master.headlights, here in the channel box of the attributes, a
06:57 value of 44 for example, this material should have a value of 44 in the intensity
07:04 of that light surface, making it look like the headlights are on.
07:08 We can see in here if we go back up one node to the output connection.
07:12 That the additional color is controlled by that texture.
07:15 That's what that note means. And that intensity again is purple, and
07:19 it's controlled by the expression. I'll put my running lights on the same way.
07:25 I'll select them and the additional color, the intensity is now mia_light_surface2,
07:30 which I'll rename. I'm going to get this in and the
07:32 brakelights in and show what it looks like in the expressions when I'm done.
07:35 First, I'l right click on the intensity. I'll select this line and press Ctrl+C to copy.
07:42 And then I'll get into my expression I'll choose it by Name, I'll select one of the lights.
07:50 I'll take this and rename it, I'll go down to the bottom of my expressions.
07:59 And now, I'll paste in this RunningLum.intensity.
08:02 I'm going to make this equal my Control_Master.Headlights, and choose Edit.
08:17 I'll select this line and press Ctrl+C to copy.
08:21 And then I'll get into my Expression. I'll choose it by Name.
08:24 I'll go down to the bottom of my Expressions.
08:26 And now, I'll paste in this line and in front of it add in this line here.
08:34 I've finished attaching the expressions for the Brakelights and the Running_Lights.
08:38 And I have a couple of quick fixes to make.
08:41 On my Running_Lights, in my copy and paste I had put it accidentally to Control_Mster_Headlights.
08:46 But when I look at the Control_Master, selecting it and looking at the attributes
08:51 I've got, I have two pieces here. Under Control_Master and the extra
08:57 attributes, I've actually created Running_Light, Left and Right, which means
09:01 that for my running lights I actually need two separate materials.
09:04 This way, I can turn on both Running_Lights easily if I need or I can
09:09 key the intensity of one up and down if we're signalling to turn.
09:15 So in my code here, BrakelightsLum.intensity equal
09:16 Control_Master.BrakeLights is correct, the HeadlightLum.intensity is correct and
09:21 there's my Shape notes for the Headlight lights and that also works.
09:25 But running LightLum.intensity needs to be fixed.
09:29 I'll take that out temporarily by cutting it, and hit Edit.
09:34 There's my result Cobra, meaning my expression is workable.
09:38 Here's what I'll do. I had put one orange material on both of
09:42 these running lights I'm going to name this material, Running_LightsLF and I'll
09:50 clone it in the Hypershade, choosing Window > Rendering Editors > Hypershade.
09:52 Here in my Hypershade, there's the materials on my car.
10:01 What I'm seeing here is that materials that are Mental Ray materials are
10:05 highlighted in red because I haven't turned on Mental Ray as my rendering
10:08 engine yet. That's okay.
10:10 We're still using Maya software and we just haven't chosen to render in Mental Ray.
10:14 Also, down at the bottom, it looks like it's looking for.
10:18 A headlight image that doesn't exist or maybe isn't in my project.
10:23 Again, I can go find this and put this in when I detail out the materials on the car.
10:26 I'll take my Running_Lights material left-front, and press Ctrl+D to duplicate it.
10:32 Duplicating it like we would any other node in Maya.
10:35 I'll rename this new Running_Lights Material, Running_LightsRF.
10:42 Into this Material in the additional Color, I'll add in another of my
10:46 self-illuminating textures, my light surface nodes.
10:50 Those show up here in the textures, and because I've named them I can find them easily.
10:55 Here's RunningLum and I'll actually make this RunningLumLF for Left.
11:02 I'll select it and duplicate it, press in Ctrl+D.
11:06 And now, I'll name this one RunningLumRT for right.
11:09 Now, I can get them all wired together to their correct pieces.
11:14 Back here in the materials, I'll take Running_Lights, Right Front, drag it with
11:20 a mouse wheel down into the work area. And zoom out to see it all, making sure I
11:25 drag with the mouse wheel shows that material.
11:29 Here's the material on the left and the light surface node on the right.
11:32 With the mouse wheel, I'll drag from the light surface node on to the material and
11:37 choose either additional_color or Other. I'll go to the additional_color and it
11:44 brightens up that surface. Now, I've got named nodes for each of my pieces.
11:48 Making sure I've got the naming right, because Maya is letter and case-sensitive.
11:54 This should be Right Front and the other one is Left Front.
12:00 This is RunningLumRT or even better yet right front to keep my naming consistent.
12:09 And the other one here in the texter is RunningLumLF.
12:13 This way each one goes together and I can identify it uniquely in an expression.
12:17 This intensity then, if I right click on it, to create an expression is called RunningLumRF.intensity.
12:25 And I'll copy that, and then equate it to the correct part of the Master.
12:30 In the Master, down here are my Additional, Extra Attributes.
12:35 Over here in the Transform Mode, it's called RunningLightLeft, and the actual
12:40 name for it is Control_Master.RunningLightLeft.
12:44 So I'll put this in, again working in kind of a scratch space to get it all together.
12:49 Copying and pasting and changing names as I need to get these two lines all working.
12:54 This should be RunningLumRF equals Control_Master.RunningLightRight.
13:03 I'll hit semicolon, select, copy, paste, and change to left.
13:14 As long as I get the naming right, I should be in pretty good shape.
13:17 We'll see very quickly. I'll select both of those pieces, making
13:21 sure I grab the semicolon. Cut and go into my Cobra expression.
13:25 Down here in the Expression, under Brakelights, I'm going to paste in those
13:33 two lines. I'll hit Edit, and there's result Cobra.
13:36 Here's what this means, RunningLight at Left and Right at 0, mean the running
13:42 lights are not on. If I take both of them, and put them up to
13:46 say 12 and 12, the running lights are both illuminated.
13:51 If I'd like to take, let's say left, and 0 it, and set a key.
13:56 I can key this light to blink off and on. Maybe having it blinking and using the Pre
14:03 and Post Infinity Graph Editor to animate simply looping.
14:07 But I have unique control over each one and it's material.
14:09 So my lights are set. My extra attributes are all wired in and
14:13 working with my headlights and their spotlights turning on.
14:18 My brakelights available and finally my running lights, right and left, available
14:23 for turning. If you'd like to go further, you could
14:26 even add in unique controls for the brakelights.
14:28 So that right and left brakelights can be used to match the intensity and sequencing
14:34 of the running lights to be able to get the right and left rear brakelights to
14:40 blink off and on when indicating a turn. What I've done also is to select all of
14:44 these expressions and paste them into a text document included in the Exercise Files.
14:50 It's in the Scenes Directory for the Chapter 5 project.
14:55 This way, if you need help on the expressions you can open up that text
14:59 document or if you'd like to copy and paste into your own model, you can see all
15:04 the different part to make that car work coherently.
15:07 Once you've got the base functionality in its time to really put the polish on
15:11 getting the car paint going. The materials on the tires and the rims
15:16 and all the shiny parts everywhere making all the bright work really stand out.
15:20
Collapse this transcript
6. Finishing Touches
Exploring the mental ray Car Paint shader
00:00 Once my car rig is complete, I'm ready to put some final polish on.
00:04 I need to get car paint and other realistic materials on my car.
00:08 And then, also think about some cameras on it so that I can animate the car and cut
00:13 to different cameras, shooting lots of different footage in an animation.
00:17 I'll check the rig. I'll grab that master control and pull it forward.
00:21 And I can see one last small problem. Although the steering control works, it's
00:26 not parented to the master. So I'll fix this by selecting the steering
00:29 control, holding Shift, selecting the master and pressing P.
00:33 It's always good to test. I'll select that master and everything
00:39 moves forward as a statue. My car is all working.
00:42 Sometimes we forget to do the simplest things like parenting a major control.
00:47 It's easy enough to catch, but it's better to catch it now than when we're deep in an
00:51 animation now for the car paint. Mental ray has a terrific car paint and
00:56 that it understands that it should be car paint and should function like the
01:01 multicoat paint that car paint is. I'll start out then by selecting the body,
01:06 doors, hood, air scoop, trunk, and there's my right door, right-clicking and
01:16 assigning a new material. In my Materials, under Mental Ray
01:20 materials, and I'll increase the thumbnail size, I'll choose my mi_car_paint
01:24 phenomenon X. What this means, the X passes material
01:28 actually, is that it is a car paint shader.
01:31 It understands it should be car paint. It is a phenomenon, meaning that it bends
01:36 the light or is affected or changes by light in some way and x passes.
01:41 We get our render passes out of this material free.
01:45 And there are certain render passes, such as raw diffuse, that come with only x
01:49 passes materials. So if you have a choice, always use x
01:53 passes for flexibility. I'll click on this material and the car
01:57 turns red. What we can see here is we get our
01:59 standard shading group and then the car paint phenomenon x passes material.
02:04 I'll rename this first to Car Body Paint. The default car paint is a candy-flake red.
02:14 We can see some variance in the specular highlight going on already.
02:17 What I want to think of with my car paint, is that it's got a Base color, an Edge
02:21 color, and a it color. I'll start out here by clicking on the
02:25 Base color. And I'm going to set this into more of a
02:28 blue tone, choosing a blue and darkening it and maybe swinging in just a little bit
02:33 of purple in there. Now, I'll add in a lit color.
02:38 What this is doing is changing conditionally depending on the Lit color
02:42 bias to reflect a new color in the sun. I'll click on Lit color.
02:49 Make it a derivative of my original base color by going lighter and less saturated.
02:54 And now, in the sun or in bright light, this car will shine in this lighter tone.
02:58 Finally, there is an Edge color and for most cars we can leave it at black.
03:03 However, if we want this car to be slightly iridescent on the edges we can
03:06 put an edge color in for example. I'm going to click on my Edge color, and
03:11 sample my original blue, go a little bit darker but swing into that purple a little bit.
03:18 So on the edges, the car has a little purple edge to it and sort of a lighter
03:21 color in the sunlight. I need to get some light in to test this
03:25 and I'm going to use a standard daylight system to start.
03:30 I'll click on my Render settings button, and in the Render settings dropdown under
03:33 Render Using and choose Mental Ray. In the Mental Ray section, I'll go under
03:38 Indirect Lighting and create a Physical Sun and Sky.
03:42 We may end up doing this under street lights or something else in animation, but
03:46 the Sun and Sky of the daylight system is a good testing environment for our car paint.
03:50 I'll click create and it turns on final gather for me.
03:54 I'll put the secondary diffuse balances up to two, so my light has a little bit of lift.
04:00 What I'll also do is spin the sun a little bit.
04:02 If we look at our scene, we can just see the sun as a tiny red dot off to the side.
04:08 I'll select my sun shape. And scroll down to the object display and
04:12 put the locator scale up. Let's try 300 for example.
04:18 This is the drawn size of the icon in the view not the physical scale of the sun.
04:22 It matters where it's pointing not exactly where it is.
04:26 I'll rotate this over. And aim it at my car.
04:29 This way I've got all different lighting conditions represented.
04:33 Strong sun, directly on the hood let's say, and on one side, and on the other
04:38 side I'll see the car in shadow so I can test.
04:40 This object, this directional light, is actually just a placement for the MIA
04:46 physical sun. What's really controlling it is the
04:49 physical sky which has a multiplier, haze, saturation and so forth and then a
04:55 physical sun node at the end, that's actually plugged into that sky hence the
04:59 yellow in all those attributes. I'm going to leave this alone and leave
05:03 the default simple exposure on my camera as well.
05:06 Later we might switch out to a photographic exposure for tone mapping,
05:09 but for just testing the material, this will work.
05:12 Now, I'll zoom in on my car, and hide my curves just temporarily, so I can see
05:17 what's going on a little clearer in my viewpoint.
05:19 I'll choose Show, and turn off Nerves Curves.
05:24 I'll pull up my IPR window. And make sure I'm using Mental Ray.
05:30 I'll click on IPR and click and drag a region.
05:34 It should take a second start to update. If it doesn't, we can always use a render region.
05:39 And occasionally, MIA forgets to use IPR, as we saw in the error at the bottom.
05:44 I'll just use Render Region. And run a quick render to see how this looks.
05:50 It looks neat, although it's a little bit in the bright purple side.
05:53 We can back this off by adjusting the lit color.
05:56 But we can definitely see it's behaving like car paint.
05:59 I'm going to up size this a little bit, by increasing the render size first and then
06:03 zooming in. When you're testing a car, test full.
06:07 We need to really see how this works because a lot of what we're going to do
06:10 with a car is show it filling a frame. In the common tab on the render settings
06:15 I'll scroll down to the presets and choose HD 720.
06:20 It's a good test size even if you're going to run at 1080 or for a digital
06:24 intermediate even bigger. Also in 2014 we've switched over in
06:27 quality to the unified sampling. I'm going to boost up that quality to 0.5
06:33 just to get a little bit better sampling quality on my car.
06:39 I'll close this and zoom in. Seeing it full in the frame and pull up my
06:45 IPR again. Under options I'll choose Test Resolution
06:49 and running it at 75% should work nicely. I'll click on IPR and I'll get a region.
06:56 Alternately, I can click and drag to draw out a region here.
07:02 When I click render, it may take a second to refresh, and I can always hit esc to
07:05 stop that render and draw a new region on it to test out that car further.
07:17 It's a bright purple but the car paint is working as advertised.
07:21 It's bright in the sun. And we can see a bit of a flake going on.
07:24 A variance in the surface. We can also see that bright, shiny
07:27 reflection along the side. Being changed by the geometry waving a
07:31 little bit, which is as it should. We've go a good reflection of our, still
07:35 gray, exhaust pipes. And we can actually see some of the
07:38 physical sky reflected in the background. Now I'll change the car paint just a
07:42 little bit. I'll pick any object of the car.
07:48 And go into that car body paint. I'm going to darken down my base color,
07:53 darken my edge color and darken my lid color, and get a much more muted paint.
07:58 What we're also seeing here, if we look at the camera, is that it's governed by a
08:02 simple exposure. It's a video camera style control with
08:06 pedestal gain mean compression. And I would rather switch to a
08:10 photographic exposure control to be working in true photographic controls such
08:14 as Hi so F stop and shudder, in my perspective camera than I will scroll down
08:19 to the bottom into the Mental Ray section. I will right-click on the lens shader and
08:25 break the connection, and into that lens shader node I will add that under mental
08:32 ray lenses, my photographic exposure. For those of you familiar with common
08:38 camera controls, we're now working in film speed camera shudder expressed in a whole
08:43 number which is actually one over that or 1 over that or 1 100th of a second, f
08:48 number or aperture, and also vignetting. I'm going to run 400 speed here.
08:54 Running my shutter at 256, at an F4.8 to start.
08:59 If you've got a table of values you'd like to work with, you can put those straight in.
09:03 I'll pull up my Render view, and try another region.
09:07 And we should see it be much more true to life.
09:11 It's nice and dark. In fact, you may say it's too dark, but
09:15 it's actually working correctly. The values are much much closer to what we
09:19 might use in a camera, even though those are too open, too big, but I need to
09:24 increase the physical sky multiplier to get this to show better.
09:28 My car paint though is reacting as it should.
09:30 I'm seeing that it's behaving like a car paint, changing dynamically.
09:35 I'll go in the physical sky, and crank up that multiplier to 15.
09:39 A lot of working with car paint is actually not the paint, because the shader
09:43 is very, very good. It understands that it is car paint.
09:47 It's really, do we have a testing environment that is suitable to show our
09:51 car correctly? This is good but still not bright enough.
09:56 But I am getting my darks back in my render so I can test accurately.
09:59 I'll put this multiplier up at 30 and try one more render.
10:03 It's pretty good but still a little dim. With one more adjustment I'll turn my
10:14 attention back to the car paint. Right now, my car is very purple.
10:21 There's a lot of this edge color bleeding around the car.
10:25 What I'm going to do is to dim this down further and also look at the lit color
10:29 bias in the car paint. What we're seeing here is this lit color
10:32 bias of 8 is really letting the lit color bleed over the car.
10:38 For example, when I try another region here with a lower lite colored by us say,
10:42 three, we're going to see a different value with a lower lite colored by us we
10:51 have more of that color over it. As that Lit Color Bias us gets higher say,
10:56 20, we're going to see more of the edge and defuse color or base come in.
11:07 And now, it's reacting very nicely like car paint.
11:09 If you'd like and you want to make more of a metallic car, we have a Diffuse Weight
11:14 and a Diffuse Bias. For example, lowering this Diffuse Weight
11:18 down makes that surface appear more like a metal.
11:21 Here's a Defuse Weight for example of 0.5. Now, we'll see running a region over more
11:26 of the car is that this behaves like a deep purple metallic finish instead.
11:36 We can continue to adjust this color playing with our lit color, base color,
11:40 and edge color playing as well as the biases for each to swing that color around
11:44 the car conditionally as we need. What I'm going to do is put a little blue
11:48 back in the lit color, shifting the hue in the blue range, so it's not quite so
11:52 purple there. I'm also going to make sure my edge color
11:56 is nice and dark and my base color is still dark.
11:59 Then I'll scroll down into the Specular section.
12:02 What we're seeing here in the Specular parameters is it's a double layer Specularity.
12:07 There's a first and second. So we can have our broad bloom visible
12:10 right here on the fender as well as our pan highlights visible on the fine detail.
12:16 Typically, I'm going to leave these alone or we can play with it if we need to make
12:19 that car a little bit more shiny. Part of car paint is also a flake.
12:26 There's a flake weight, flake relfection, flake color, flake exponenent and density.
12:32 We can see our car flakes here in the fender and they're rather large.
12:35 I'm going to zoom in and take that Flake Scale down.
12:40 I'll put the Flake Scale at .05, so it's much, much smaller on the car.
12:47 Depending on the kind of finish we're using, we may see a greater or lesser
12:52 incidence of flakes in the car. Depending on the quality of the paint
12:56 which, in this case, I hope, is very good on this car.
12:58 We should see more flakes in the surface and it causes that shine to vary.
13:03 We can also take down the Flake Strength and even kick up the Flake Reflection so
13:07 there's a sparkle in the finish. I'll pull that Flake Scale down even
13:11 further, 0.02. And I've kicked up the reflection just a bit.
13:16 We can play with the reflection if needed, although, it does a pretty good job.
13:20 These work in the same way that most reflections do, with a color, a weight and
13:25 a number of samples, which in mental ray, samples at 0 is mirror perfect, shooting
13:30 one ray getting a clearer reflection. If we need the car to have more of a brush
13:34 finish, we can increase those samples. As this is a showpiece car, I'm going to
13:38 say that it is polished to a wet glow and leave those samples at mirror perfect.
13:43 I'll try one more render, and I think I've got my car paint pretty well-dialed in.
13:47 If you've unwrapped your car and textured it, you can add that texture in the Base
13:52 Color, and even paint a custom color for the lit.
13:54 So for example, flames on the front start out in red and depending on the lighting
13:59 have a little yellow or orange in them. With my final test render, I feel like the
14:10 paint is looking pretty good. I've got a good flakiness going on in the
14:14 paint, not that the paint is flaking off, but there's a subtlety and richness to it.
14:19 Lots of little dots comprising the reflection, so its got a good sparkle and
14:23 luster in the finish. I'm ready to start thinking about other
14:26 material such as chrome on the wheels and rubber on the tires, and also the other
14:30 chrome trim pieces we need to really make this car standout.
14:33 Remember, this is car paint. It's made to look like car paint because
14:37 car paint is its own animal. It's not good for other things.
14:41 So we wouldn't put our car paint shader on a floor.
14:43 We probably shouldn't use it on furniture, and it's going to look like, well,
14:47 somebody put car paint on the wall if you put it on the wall.
14:50 It's made for looking like car paint, but it's not good for much else, because it
14:54 understands inherently that it should behave like the multi-coat car paint that
14:58 we use on real cars.
15:00
Collapse this transcript
Creating chrome, rubber, and glass
00:00 Along with the car paint body, we need to create some other materials for our car.
00:05 There's lots of chrome on this, Where we'll put it on the trim rings around the headlights.
00:09 We're going to chrome the hubs and also the exhaust pipes and road bar.
00:13 We'll get that in as well as rubber for the tires and glass for the windshield.
00:18 We'll start out with the tires, selecting the actual tire objects, and putting a new
00:23 material on them. I'll right click, and choose Assign New Material.
00:32 In the materials under mental-ray, I'll choose my MIA material x-passes.
00:38 Typically if it's not skin or car paint, I'll use an MIA material x passes as my go
00:43 to material for most everything. It's a versatile utility material that's
00:47 great for everything from rubber to glass to masonry, and has lots of different ways
00:52 we can customize that material. It's also got good presets for starting
00:56 out with things. This way we can get a running start on
01:00 what we're trying to make instead of rebuilding from scratch with an
01:03 approximation like a blend. Under my Presets, I'll choose Rubber and
01:08 Replace, and I get a deep brown or black rubber here.
01:12 In the MIA then there's a diffuse color and a weight.
01:17 And this weight lets us lower the amount of diffuse color in the material.
01:21 So the diffuse color can come more from a reflection if we need as in a metal.
01:26 What I'll do is lower that weight just slightly, maybe to point 9 5, so a little
01:32 bit of color comes from the reflection, and then I'll darken this slightly.
01:36 If we take this down to black, it's going to read as really too black, but I'm going
01:41 to pull this down to 0.04, so it's really got some darkness to it.
01:46 I'll name this material tires. If we've got a color map, we can actually
01:52 add that in the MIA here. At the moment, I'm going to do just solid
01:56 black tires. And back off the roughness just a bit.
02:00 Roughness is a Lambertian roughness in that material that spreads the light along
02:05 the surface. I'll back it down to point eight as if
02:08 these tires have had a little polish on them or a good cleaning.
02:12 Down here in the reflection then we need to blur out that reflection.
02:16 Our glossy samples are up. Eight is decent but not stunning and so
02:21 I'm going to kick this up to 12. We can also see that the highlights only
02:24 check box is checked. And what that means is that this
02:27 reflection only shows up in the specular highlight of the material.
02:31 That way the reflection is a very, very low hit performance versus the whole tire
02:35 being reflected. I'll scroll down to the interpolation
02:39 section on the material as well. Interpolation in an MIA also gives us the
02:43 chance to blur a reflection, and save time in the Render.
02:47 What I'm going to do is interpolate the reflection down to half.
02:51 If my Rendering is 1280 by 720, my reflection will be calculated at 640 by 360.
02:57 The reflection sample determines how blurry the reflection is.
03:01 When that sampling rate is higher we get blurrier reflections.
03:05 So these will be a little something going on visible in a reflection.
03:09 Not even a good reflection in the tire, but just a blurred bit of whatever color
03:13 is showing in the specular highlight. Now I'll get some chrome going.
03:17 I'm going to pick left side exhaust pipes, Right Click and choose Assign New Material.
03:24 Under my MIA materials, I have a preset here for chrome.
03:28 I'll name this material Chrome, and under presets, choose Chrome.
03:33 Unless you need to make a custom material, this is a great way to start if you'd like
03:39 to push it around a little bit, changing the parameters and so forth, you can.
03:43 But the default chrome is pretty good for a quick chrome on the car paint.
03:47 I'll test it, and I may end up wanting to take out a bit of roughness in here.
03:51 Right now it's got a little powder to the surface, and I want my chrome to read as clear.
03:56 I'll pull this roughness down to 0.2 and I'll make sure I assign this to my other parts.
04:02 We'll take that chrome and assign it to the rims, the spokes, hubs, and any other
04:09 wheel pieces in here. Selecting some of them right clicking
04:13 choosing Assign Existing Material and Chrome and spinning around to catch the
04:18 other side. I'll pick those elements, and I can
04:22 actually hit G to repeat last to assign that material.
04:25 It shows fairly dark in the Diffused View in the View, but when we render, it should
04:32 look like chrome. I'll also make sure I pick these vents and
04:35 the sides and assign that chrome, the roll bar.
04:38 Spinning around to the front and catching the trim or bezel around the headlights,
04:46 catching the, not the headlights themselves, but the other ring around them.
04:55 And the trim ring around the running lights or turn signals up front.
05:02 I'll right click and assign an existing material and choose Chrome, and come back
05:07 around this side. I'll pick these side vents and assign, and
05:10 finally onto the windshield. I'm going to chrome the windshield frame
05:15 all the way around. If you have another material you'd like to
05:20 add in here, that's totally fine, although chrome was a nice way to start on this.
05:25 I'll assign that material, and also pick the windshield wipers.
05:30 I'm going to put the chrome on all of the parts here except for the actual
05:34 windshield wiper blade (SOUND). When you're assigning material, don't feel
05:49 you have to catch all the pieces all at once.
05:51 It's very easy to pick one and hit G to repeat last, and just run through and
05:56 assign materials. It's okay to do this, we don't have to get
06:00 in and catch everything all at once. It's very flexible, I can simply zip
06:05 through here, and if I've noticed I've missed a piece, as it's still showing in
06:08 the lighter gray of lambert-one I can assign that material.
06:11 I'll go through and make sure I catch all of the rivets and screws on these
06:15 windshield wipers. Finish assigning the chrome and show what
06:18 it looks like when I'm done. I've selected all the pieces that need
06:22 chrome and assigned that material. It took a few minutes, but it was good to
06:26 be deliberate and make sure I'm catching all of the exposed screws and.
06:30 >> Fittings and trim and soforth. A lot are ties when we're dealing with a
06:34 car as we've seen. It's broken up into dozens and dozens of
06:38 parts in the modeling process. And that's fine as long as we remember to
06:41 go through and get the material on all of them.
06:44 This way, everything that's chrome will have one surface on it, instead of having
06:48 multiple chromes in the scene. Now that I've gotten my tires, my chrome,
06:52 and my car paint on, I can look at the glass.
06:55 When I pick the glass and press f to focus in, right now it's got a glass material we
07:00 put on temporarily. It's just a blend, and I actually want to
07:04 use a proper glass. I'll right click and temporarily assign an
07:08 existing material of lambert1. The reason for this, is I just want to
07:12 check the normals. It looks like it's model double sided,
07:16 which is good, because we want entry and exit normals for our glass.
07:20 I'll make sure and render stats, that double sided is not checked, which I had
07:23 done globally through the attributes spreadsheet earlier, but just to ensure
07:27 that I'm only seeing one surface from one side.
07:31 Now, I'll put a glass material on, right clicking and choosing Assign New Material.
07:36 I'll pick in Metal Ray Material and mia material passes, and in here I'll name
07:41 this Window Glass under Presets. I'll choose Glass Thin and replace the
07:51 existing material. Glass Thin is made for window glass,
07:54 specifically, flat or slightly curved glass that does not refract.
07:59 We don't want the image we see through the glass to be bent at all, like we would
08:03 through, let's say, a drinking glass. And so Glass Thin is made to not bend the
08:08 light, and the reflection. We can see that in here, where in the
08:12 refraction section, the index of refraction is true for glass, 1.5.
08:17 But, if we scroll down to the Advance Refraction section, it is checked as a
08:22 thin-walled object, meaning it does not refract as opposed to a solid or a
08:27 refractive costing. This will behave correctly like our glass
08:30 that we expect to see in the car windshield.
08:34 I'll make sure I cut all the pieces and try a test rendering.
08:37 It looks like I missed some of the trim rings here on the roll bar and it's not a
08:41 big deal to go back and catch them. One way to do this nicely, is to take
08:45 whatever material is on the car temporarily, and put a color on it that
08:49 really stands out. For example if I make Blin-One red,
08:54 anywhere that the red shows up tells me I need to put a material on.
08:57 Then I can always come back and gray it out so it doesn't totally leap out in the render.
09:02 I'll get my chrome on, choosing a sign existing material, Chrome, and I'll back
09:08 out my camera and try a test. I'll pull up my render frame or just hit
09:13 render for the frame, and see what this looks like.
09:18 In the render, I can see my scene is still a little dim, but the car really has that
09:23 look of car material. Its car paint, chrome reflecting nicely,
09:27 and a matte rubber on the tires with just a tiny bit of sheen on it.
09:31 Now I need to worry about the interior materials, and this is a good place to
09:35 work out your texturing chops, and all the dials as well.
09:38 I'll also see if there is any places that I need to go back, and catch a material on.
09:41 Maybe interior parts, or other fittings that need the chrome again.
09:44 It's not a big deal once it's made, to go back, and assign the existing material.
09:48
Collapse this transcript
Applying interior finishes
00:00 Once materials are on the outside of the car, we can get our interior finishes on.
00:05 I've also made sure I've showed my objects by choosing display, show, all and done
00:11 some clean up. There were a few extraneous pieces left
00:14 around after the modeling process, maybe from duplication or instancing or
00:18 converting instances to unique geometry. But I have to go through and do some minor
00:23 deleting and moving as part of the clean up in this.
00:26 That's okay to do and you may find things like that along the way where it needs a
00:29 little bit of work. Now, I'll get my interior finishes on,
00:33 zooming in and looking at the seats first. I'm going to put a black shiny leather on
00:39 them, and I'll make a new material for that.
00:41 I'll pick my seats, and they also have a welting in here which I choose what
00:45 material goes on it separately. I could put let's say, a white for an
00:49 accent or make them all black. I'll start out by picking my seats and
00:55 right click, and choose Assign New Material.
00:58 I'll use my MIA Material X Passes again. And for this, for a, let's call it a
01:03 shinier leather, I'll start out with a different preset.
01:06 I'll choose Pearl Finish > Replace. The pearl finish in the MIA gives us a
01:11 soft, blurry reflection. What we can do in here is interpolate the
01:15 reflection to blur that reflection across the surface, so it's not a perfect shine
01:20 but is much hazier. When you're dealing with a pearl finish,
01:24 the first place to go is the interpolation before you worry about color and shine.
01:29 The default pearl finish has a grid density of 2, or double the rendering
01:34 size, which means for my 1280 by 720 image I've chosen, it will calculate the
01:39 reflection at a gorgeous but expensive 2560 by 1440.
01:45 So one of the first things I do when I choose a pearl finish, is stomp down that
01:49 grid density, maybe just down to one. So now it's calculating that reflection at
01:53 the same size of the render but blurring it using the six samples here in
01:58 reflection samples. Now worry about the actual finish.
02:02 I'm going to darken out the color, so their deep charcoal seats.
02:07 I'll give it a little bit of roughness to spread the light, and I'll scroll down and
02:12 color that reflection a little bit as well.
02:15 Adding a little bit of a grey in, so it's not a bright, white shine.
02:19 Then I'll kick up the reflectivity and gloss, maybe 0.5 and 0.5, so there's a
02:24 little bit of a polish to those seats. Depending on the sampling and how it
02:29 looks, we can increase the glossy samples. As these increase, as the tool tip shows,
02:35 we're going to get a better reflection at the expense of time.
02:38 This will do for now, and I can always up the samples depending on where I see the
02:42 car, brings me to an important point in these materials.
02:45 We always want to fine tune our materials from the animation, if we fine tune our
02:50 materials looking at the car like this, and say wow, I made good leather.
02:56 But then we realize we're actually seeing the car from here, that's a lot of wasted effort.
03:01 So we need to get these approximate and make sure that in the final lighting we're
03:05 looking at our car from the camera to see the depth of reflection and shine we need.
03:11 I'll name this material, calling it Charcoal Leather.
03:19 I'm also going to add a little more sun into my rendering.
03:22 I'll pick my sun shape, and there's my physical sky, and I'll boost up that
03:26 multiplier just a little bit more to 60, making sure I'm still in my perspective view.
03:34 I'll go back in and look at the other interior pieces.
03:38 I need some chrome on the dials, and so I can buzz through here, select these trim
03:42 rings, and put in a chrome. I'll also put it on the center of the
03:47 steering wheel, and the sports struts. I may want to add chrome on some of the
03:52 knobs or bare backings and mountings as well.
03:59 It's up to you to look at reference imagery to determine, how to color the car.
04:03 You may end up with more of a car paint on the inside, more chrome, or special colors.
04:09 I'm going to chrome these switches, and I may even chrome the, hands on the dials of
04:14 the car. I'll start out by selecting and assigning
04:18 my existing material of chrome, and I'll also catch the glove box lock, as well.
04:26 There's lots of little pieces, and so you have an opportunity here to get some
04:29 richness and subtlety going in the materials.
04:31 It's your call how detailed to get. We just have to make sure that when we get
04:36 in here, we're assigning it all consistently.
04:39 It looks like I have a piece of my windshield that actually got moved accidentally.
04:43 I'll select it, making sure I grab the base, and put it back in place, pressing W
04:48 to move and pulling it in. As an alternate, I can pick the one on the
04:57 other side and simply mirror it over. It's up to you, depending on where these
05:00 pieces go. What kind of position you would like to use?
05:04 As this should be symmetric, I'm going to pick this windshield base object.
05:07 And the side, and mirror it across the car, which I already have the pivots set
05:14 up for, I'll duplicate by pressing Ctrl+D. Scale on the x at a negative one, and it's
05:22 in, make sure you've got all your pieces straight.
05:27 Make sure you select everything when you're mirroring.
05:29 In this case, I lost the base, and get all your parts in.
05:33 I've run through assigned materials on the interior, catching the welting on the
05:39 seats with the same charcoal leather. And actually the tub, or the basin of the
05:43 car, here, with that same material. I've made a material for the dashboard
05:47 called Black Shiney, as it seems to vary in different reference photos.
05:51 And if you have a custom material, you can put one in here.
05:53 What I've done in this is start out with a default MIA, which is actually a glossy finish.
05:58 I've upped the roughness so the surface is more powdery and pulled down the color
06:03 into my charcoal range. I've pulled down reflection and gloss and
06:07 turned on highlights only, so although it shines, it doesn't have too much of a reflection.
06:11 I've backed off the reflection color from white, so it's a light grey, and I'll see
06:16 how this looks. I also had to assign some material to some
06:20 screws I forgot because I missed them along the way.
06:23 And catch some extraneous pieces in the rest of the car.
06:27 We have a choice here we can see on the petals.
06:28 We can leave them alone or we can go in and assign again a chrome.
06:32 We can also see in here that our gauges may need a texture.
06:35 Right now we've got a glass in here and we can go in and put in a backing.
06:40 Texture of object as well, to show what's actually on them.
06:44 If you're going to see it, you can add that in easily enough.
06:47 I'll put my glass in, the same one I'm using on the windshield, and that should
06:52 just about do it for the interior. I'll choose Assign Existing and Window Glass.
06:59 And now that'll at least be a reflective glass correctly.
07:02 For the steering wheel we can do anything in here from chrome through leather to
07:06 wood, or a mix because it's done in layers.
07:09 I'll get in and at least design the chrome on the middle stripe of this steering.
07:13 There's three parts in here. And the front and back I'm going to hit
07:17 with that same charcoal leather so it's a match.
07:25 If there's any other pieces out there you can catch them along the way.
07:28 It's also handy in a car, to be able to take things like the undercarriage and hit
07:33 it with a good dark color. It's not that it's exactly always black,
07:38 but really we want it to be deep in the shadow in the car, and not obviously
07:42 reading as terribly light. I'll pick that and right click and assign
07:46 a new material. Again, choosing in MIA material x passes,
07:50 and a matte finish preset. I'll black this out, toning down the
07:56 reflection and the main color. And this way it's just a dark color which
08:01 I'll call flat rubber. (SOUND) This is a good generic material to
08:10 have on hand for a car. Just a matte, flat black to hit things with.
08:14 So if you need to see darkness without a discernible shine or anything, you can
08:19 throw this material on. And it's good for covering in places so we
08:23 don't see through or see something that's accidentally too light.
08:27 I'll do one more test in the day here, and I should be done with my interiors and on
08:31 the textures for the lights. My car looks good.
08:39 All the MIA materials are reacting correctly to the sunlight.
08:45 One of the things with cars is we like to drive them outside.
08:50 In the outside, we're typically lit by some kind of daylight, unless we're doing
08:54 a night shot. In mental array, the daylight system,
08:57 photographic exposure and MIA materials are meant to work together that the
09:02 photographic exposure correctly tone maps the image, that the daylight system
09:07 provides the right luminance of the sun and the mental ray architectural material,
09:12 the MIA, is meant to react properly with both of them.
09:16 So we can go all mental ray all the way on this car, and get a good looking render
09:21 fairly easily. Now I can get a good detail on the
09:24 headlights, taillights, and running lights.
09:26
Collapse this transcript
Working with headlight and taillight textures
00:00 When you're crafting your car materials, beyond the solid colors and car paints,
00:04 you may need textures in your materials to really make them appear realistic.
00:09 A common place to put textures in as a bump and also in refraction is in the headlights.
00:13 Beyond being a simple dome of glass, headlights are actually faceted surfaces.
00:20 The lenses themselves are made to refract and amplify and aim the light.
00:25 Right now we just have our headlights material, and that material is linked to
00:28 the master control for animation. What I'll do is use a headlight bump file
00:34 included in the Modeling Vehicles with Maya course to provide a bump in these, so
00:39 they really look like the right glass on the headlights.
00:42 I'll scroll over on this to the material called headlights here, and it's my MIA
00:46 material x passes that is bright white at the moment.
00:51 The self-illumination or additional color from that MIA light surface is making this
00:55 light up. What I'll do is scroll down to the bump.
00:58 And in the bump in a mia material we have a standard bump and an overall.
01:03 The standard is where we put things like bumps and normal maps, where the overall
01:07 is where we use mental ray specific bumps like round corner shaders.
01:11 What I'll do is click in the standard bump texture and in the Create Render Node
01:16 dialog that pops up, choose File. This puts in a bump 2d note.
01:21 And it says, okay I'm ready for the file. I'll click on file 2, and go browse for
01:26 that file by clicking on the yellow file folder.
01:28 I need to browse to the source images in my project.
01:38 You want it to go in the mental ray folder, as it may have been looking for
01:40 something there originally. Source images though, is where I'll keep
01:44 the textures that I'm going to use, and there's headlightbump.png, an image
01:49 composed of mostly gradients that looks like that pattern we see in the headlight.
01:54 I'll click open and then go to the output or up connection.
01:59 I'll go up one more time and there's file 2 in my standard bump.
02:04 I'd like to use this in two places, both in the transparency and in the bump for
02:08 this headlight to really make it look realistic.
02:11 Rather than load the file twice, I'll connect it across in my hypershade.
02:16 I'll choose Window, Rendering Editors, and Hypershade.
02:20 And here in the hyper shade are all my materials.
02:23 I'll open this window up a little bit, and slide the dividing bar over, so I have
02:28 more work space. What I'll do is find my headlight material.
02:32 And as they're alphabetical I can see it right in the top row I'll right click and
02:36 graph the network And zoom in on that material.
02:40 We may want to zoom in and focus on it, or select all the nodes and press f to focus.
02:48 In this case, this material is linked. We can see the controls going in here, and
02:53 the expression with the x equals into that luninance.
02:58 What I need to do is actually go into the bump node here.
03:00 Zooming out until I can see it all, or moving nodes around until it's easy to get to.
03:05 And with the mouse wheel, I'll drag from file two onto the headlights material again.
03:11 I'll let it go, and in here I'll choose other.
03:16 Right now we can see it's functioning in standard bump.
03:20 This pulls up my connection editor, and in the connection editor, I can connect,
03:24 parts of the material to, other parts, or, other outputs from that file.
03:29 When I choose either outColor or outAlpha, I can see different parts are available.
03:33 I'll pick outAlpha, and let it govern the transparency.
03:38 Or. Out color to govern the refraction color
03:41 in the headlight. We have some choices here, we can
03:44 experiment a little bit with how it looks. Another option might be the refraction
03:48 transparency color. So that hit is weighted, or changes a
03:52 little bit. And it's not one uniform color.
03:54 I'll try it in the refraction transparency.
03:57 And see how this looks. I'll close this and go try another render.
04:02 This is a great technique, where we can take one material with one map or one
04:07 texture, and use it in multiple places, thereby economizing on our memory when
04:11 we're rendering. I'll zoom in on the car and try a quick
04:15 render, just rendering this image to see how it looks.
04:18 There's my headlight, and with the default mapping, I can see that that headlight
04:23 lens bump is working nicely. It's in the center, and it's effecting the
04:27 look of it where I can see that refraction going on right on the top.
04:31 The chrome behind it shows through nicely, and I'm ready for a final check on any of
04:36 my material. This is a good place, while you're
04:38 testing, to see if anything else needs to be made or retouched.
04:42 For example, in the car here we can see into the fans, and the pipes, and the
04:47 backing area we'll call it around that big intake.
04:51 This is a good place to use that matte black material, and if I like, I could
04:54 chrome those fans as well. I'll run around and catch any other materials.
04:59 And then, once this is all ready and material, I can take the final step of
05:03 getting my car camera rig set. So I have cameras that are attached to the
05:08 car and ready to shoot footage from wherever this car drives.
05:11
Collapse this transcript
Creating a car camera rig
00:00 Once I've got all the materials on the car and the rig is ready to go and I've taken
00:04 care of any extraneous parts or fixes in there.
00:07 I'm ready to get a car camera rig constructed.
00:10 What a car camera rig is, is a series of cameras that are positioned around the car
00:15 to catch different shots of the car along the animation.
00:18 Typically, a camera rig for a real car, looks nothing like the car.
00:24 It doesn't look like we simply, take one of these cars and film it with a camera.
00:29 Rather it looks more like a truck is eating a car, with several cameras watching.
00:33 What we may see of the car in the shot >> Is all that may be there.
00:37 We may remove wheels, hoods, trunks, doors, roofs, and almost everything of the
00:43 car, in order to get the car we need. Shooting digitally then with a car allows
00:48 us to use the whole car, and position cameras around it to capture the action as
00:53 we need. To make my camera rig that, I'll
00:56 temporarily hide my curves, lights, and cameras Choosing, display, hide, cameras
01:02 and show, unchecking lights and show, unchecking nerves curves.
01:10 Now in a top view I'll start-out with my camera, pressing F to focus on the car.
01:15 I'll choose create Cameras, camera. This camera is equivalent to a handheld
01:22 camera, whereas a camera (UNKNOWN), viewable here in the Camera Controls, is a
01:27 dollied, or crane camera. Camera Aim in Up has an up node that
01:31 prevents gimbolock and flipping. I'll start out with just a camera, as
01:35 these'll be parented to the car body. For example, I'm going to leave the focal
01:39 length at 35. Because my director photography and they
01:42 want to switch this around depending on his or her needs.
01:45 What I will do for camera is to scroll down onto the object display.
01:48 And boost up the locator scale to lets say 15.
01:52 This draws the camera object bigger in the view without actually scaling the camera.
01:58 As a side note, do not scale a camera. What happens when you scale a camera using
02:04 the object scale is that it distorts this size and aspect to the final image output.
02:11 So in order to make the camera icon bigger, go into Shape mode and use the
02:15 object display. What I'll do is I'll take this camera.
02:19 And position it on the car looking forward, rotating it around so I catch a
02:23 classic staring down the front wheel shot. I'll go into my Front View, for example,
02:29 and make sure this is up, even with the wheel.
02:32 Then I'll check it out from the camera view, choosing Panels > Perspective >
02:38 Camera 1 and there's my camera shot. I can dolly it back a little bit with the
02:42 right mouse, so I see the vents in the exhaust, and tumble it over, so I'm
02:46 staring down the car at the open road ahead.
02:49 And I'll see good shots of the wheels when they turn.
02:51 We can always move these around. These are just rough placements until we
02:55 know the actual shot we need. I'll go back in my top view, and duplicate
03:00 this across to the other side. Pulling it over, rotating it back or
03:05 tumbling in the view, and checking out what it looks like.
03:08 In this case, choosing panels perspective camera two for my hotbox.
03:12 There's another good shot. As a side note, I will need a cover up
03:16 here in the vent or I can orient the camera a little farther down the car.
03:22 Maybe we want to get closer or frame that exhaust full in the view.
03:28 Now I'll put on some other cameras facing backwards.
03:31 I'll duplicate this by pressing Control D and spin this camera around so it looks
03:35 backwards on the car. Maybe I want a rear wheel shot a little
03:40 bit farther out here, for example. Again, I'll check out that camera and see
03:45 those tires. I want to see tires or maybe the exhaust
03:48 as it comes burbling out. We can see places where we definitely the
03:53 interiors of the fenders, but we can handle that in a model and simply parent
03:56 that onto a body. I'll take this camera and put it on the
04:00 other size as a duplicate as well. We want to think of putting lots of
04:04 cameras on our car, even if we don't use them all.
04:07 That way we have the possibility of using them in a shot.
04:11 We don't have to use them, but it's easy to do it now because there is no cost in
04:15 the rig or the render. Now I'll duplicate this camera and slide
04:19 it up onto the hood. This'll be our classic "looking through
04:22 the window, seeing the driver" shot. I'll pull this camera in, and check it out.
04:28 Maybe dollying back a little bit, as it's a small car and I want to see most of the windshield.
04:33 Something of a 3/4 perspective to see the driver here will work well.
04:37 I'll clone this one more time by pressing Ctrl-D and slide it over, rotating around.
04:45 So the camera looks down the hood. Maybe right over the air scoop.
04:54 Here in my perspective, I'll pan down, making sure I don't pass through the hood.
04:58 Orbit over and there's those curves of the hood.
05:01 And right here I'm, next to the air scoop in the shot.
05:05 Seeing where I'm going in this car. What we want to do is get our cameras in
05:09 to show both where we're going, maybe where we've been, reaction of the driver
05:14 and maybe even a side shot. Instead of hanging a real camera off the
05:17 car, we can hang it off the side of our virtual one.
05:20 We need to have shots looking down the road, and also seeing the reflections of
05:24 what pass by in the glossy car paint. You can add on any others that you wish,
05:28 and also put others in the scene that are not attached to the car.
05:32 When you're done placing in any cameras, and this is a typical whiteload/h for a
05:36 camera, maybe six or eight of them on a car, we want to parent them onto our car
05:42 body or our master control. This one is up to you where you parent.
05:46 I'm going to parent to the master control, so that any bumps in the car body don't
05:50 take the camera with them. I'll select all my cameras picking one,
05:54 holding Shift and picking the others. And showing those curves again, and now
05:58 picking the master control and pressing P for parent.
06:03 I can always introduce a bit of a shake into the camera later if I need, or shake
06:07 it during the animation if I'm bumping over or need a little more unsteady footage.
06:12 Having the cameras on and parented is great because now we can take this car and
06:17 pull it around, and the cameras go with it.
06:20 I'll show this in a quick animation so we can see how this looks.
06:25 I'm going to put a plane under my car. Nice big rows let's say and I'm going to
06:29 have this car zooming along and drift or slide into a powerstop.
06:36 I'll give this road some length maybe 1,000 feet of road.
06:48 Right now, my road is fairly wide at 30 feet.
06:52 I'm going to slim this down so it's a 20 foot wide road, and I can even bend if I need.
06:57 But this'll work quite nicely for our purposes.
06:59 I'll increase the Clipping plane on my clipping camera.
07:04 As we can see, I'm starting to clip off the road right there.
07:07 I'll put this up to 100,000 or even a million and I should be able to see it
07:12 full in the frame. Now I'll get the car on.
07:16 First, I'll pull this back, sliding back on the z and placing that car on the road.
07:21 Zooming in, and making sure it actually sits down.
07:24 I'll add in some more frames, maybe doing a four second animation or 96 frames at 24
07:31 per frame, and at frame one here I'll key the car.
07:35 Making sure that it's far back enough on the road.
07:38 We'll do a classic approach shot. We see this car coming up and sliding in
07:42 to stop right by us. I'll key the Master Control by pressing
07:45 Shift-W, and also Shift-E. This'll constrain that rotation so it
07:50 stays straight. Now, I'll scrub forward to frame 96, grab
07:55 that car, and pull it down the road. I'll key that movement by pressing Shift + W.
08:05 And then rotate the car as if he's drifted to a stop here, pressing shift e.
08:15 In a quick test, we start out down the road and come sliding into a stop.
08:21 I may want to take that rotation key and slide it down further in the timeline so
08:24 there's a little bit of straight first. What I'll also do, is go into the end
08:29 here, where the car has slid to a stop, zoom in, and make sure those wheels turned
08:34 as well. What I need to do is make sure that
08:38 they're keyed in the right place, and discrete rotate is great for this, because
08:41 I can tick them over Three times, or twice actually for 25 degrees, does pretty well.
08:47 Key it, by pressing shift e, jump back to frame one.
08:52 Frame in on the car, and spin those wheels back.
08:57 Now he's keyed, so there's a long drifting power slide.
09:01 I can go into the graph editor and adjust this, but I'll show it using the camera
09:05 sequencer first and I'll get one more camera in so we can really see what this
09:09 looks like. I'm going to take one of my cameras and in
09:12 a top view, focusing in on it, cloning it down the road or I can create a new camera.
09:18 It's up to you how you'd like to work it. If you clone a parented object, it loses
09:23 its parenting. I'll duplicate this camera and move it
09:26 back and scrub to the end of my animation to make sure I'm seeing that car.
09:33 I'll zoom in and make sure I pick that last camera.
09:40 If you can't find your camera easily because everything has gotten, well, very,
09:44 very small in the view. We can also make sure that we use our
09:49 masks for selection. It appears my camera is also still parented.
09:53 I'm going to make sure I select it and press shirt p.
09:56 And now I'll pull it down the road here. The car comes zipping in to a stop, and
10:01 I'll check it out from my camera. We're to move this camera in a little bit,
10:07 dollying by pressing ALT and the right mouse, tumbling over, and maybe even
10:13 moving down. There's my final shot and so in the view,
10:23 I should see that car come sliding in towards me.
10:26 Now I can always massage the animation, but there's that power slide.
10:30 Our wheels are going, my steering is turning, and I've got all my cameras.
10:35 Here's how this works for the camera sequencer.
10:37 Under Window I'll chose Animation Editor's Camera Sequencer.
10:42 In the Camera Sequencer we can create shots and pass off an XML our editor if we
10:46 need, along with playblasts of our animation, so we can get started editing
10:50 on the rough animation. While we're still dealing with the rendering.
10:55 I'll choose Create and Shot. And the first one I'll do is going to be
11:00 maybe shot one from camera seven. Seeing the color off in the distance,
11:05 going over one second or 24 frames. And I'll hit Create shot.
11:11 There's that first shot. I'll scrub over in time here at the end.
11:16 And I'm ready to get the next one in. I'll choose Create Shot, and this one will
11:23 be from camera one. And I'll start it at 25 up through Let's
11:30 say 43 or 42. I'll hit apply and I'm ready to make another.
11:34 Here's camera 2 for a reaction. I'll make a few of these, zipping through
11:40 my camera here. And then, I'll start to sequence them.
11:46 What I can do here, in my camera sequencer, then.
11:50 Is take these shots and pull them around snapping them up on the same line or
11:56 having them split if we'd like and frame in pressing F to focus or selecting all of
12:03 my shots and pressing F and now I can take these and slide them back and forth.
12:07 Retiming them by clicking and dragging on the end here and setting up my rough cut sequence.
12:13 We can also import in an EDL or XML, and actually see how our shots will line up.
12:18 There's a rough shot, over, let's make it out to the full 96, and see how this looks.
12:31 I'll verify that I've got the right cameras here.
12:33 Just going back in on my car. And selecting them.
12:39 This camera seven I have selected. And when I zoom in on my car, or pick
12:44 those cameras by going in to them, and selecting it, I can select the right camera.
12:50 For example, camera five, is looking over the window.
12:53 (SOUND) 'll make sure I have a good one of these and Camera four looking back and
13:01 camera one looking forward. If you'd like to change these around in
13:06 the camera sequencer, here's seven seeing the approach, shot two down the road,
13:11 three next to the car, four looking back, five, we can also double click on a shot
13:18 And in the shot, in the attributes we can switch around which camera we're using.
13:23 I'm going to make sure that the final, or maybe the next to last is, camera five.
13:31 Here in my camera sequencer again, which I closed accidentally, I'm ready to play
13:35 blast these out. I'll choose playblast and playblast sequence.
13:43 I'm going to put this out with a quality of 70 and I can specify the resolution per
13:48 my shot if I need. I'm going to leave it at the default here
13:51 or maybe go a little bit smaller. And let this play out just to see the sequence.
13:56 I'll put my res here by 960 X 540 for 3/4 of an HD frame.
14:03 I'll hit play last sequence and see what this looks like...
14:14 It play blasted out an avi that's in the movie's directory of my mya project.
14:20 I'll go view that avi and see what I get. Here we go.
14:24 There's the car coming towards us. Reaction, reaction, back to the driver,
14:27 drift, and we need one more shot at the end to see it come in.
14:30 Her'es that sequence again. Car's coming towards us, shots on the
14:35 wheels, see the driver, and we need one more at the end to show that power slide.
14:40 It's easy to add, we're just reconfiguring that camera sequencer.
14:44 I'll add in one more shot, choosing create and shot.
14:48 And here in the shot I can add in, camera seven.
14:52 And I'll let the start time be 72, and the end time 96.
14:59 I'll create the shot, and I can always slide it forward.
15:02 This way, I can really use up that action in the car.
15:06 Focusing in, or selecting all of my shots here and pressing f to focus, and then
15:11 wrapping them or cutting them as I need. Even stretching out the timing by Dragging
15:17 out the end or start on that sequencer. I'll play blast of this one more time and
15:21 see what it looks like. Here's my second play blast.
15:25 And when I play it, there's the approach, the sequence, and the final windshield,
15:31 and there's the drift in. It works great, and the cameras rigged to
15:35 my car helped me get all of those key action shots.
15:38 And using the camera sequencer is a great way to really get some mileage out of the animation.
15:43 As we can see in this play blast, the advantage of doing such a detailed rig,
15:47 and spending the time getting all the controls right.
15:49 Is that when it comes time to animate, once we've got our cameras on and our
15:53 materials ready, we can just drive the car like we want and everything functions.
15:57 And then we can just see it or shoot it from any position we'd like and get a
16:03 terrific animation, with all the shot and cinematography we expect to see with cars
16:07 in the scene.
16:08
Collapse this transcript
Conclusion
Next steps
00:00 Thanks for watching my course on Vehicle Rigging in Maya.
00:03 I hope you had as much fun as watching it as I did making it.
00:06 If you'd like to take your skills further, check out these courses at lynda.com.
00:12 (SOUND) Modeling Vehicles in Maya with Ryan Kittleson, which is the course where
00:15 this car model, using the rigging, was created.
00:19 Provides a thorough grounding in polygon and NURBS modeling techniques in the
00:22 detailed model. Photorealistic Lighting with Maya and Nuke
00:26 with Mark Lefitz is a great way to take your rigged car and put it into real
00:31 background plates and match the lighting in using HDRI.
00:34 So jump into Maya and start rigging cars, and I'll see you next time on lynda.com.
00:40
Collapse this transcript


Suggested courses to watch next:

Modeling Vehicles in Maya (4h 24m)
Ryan Kittleson

Maya Essentials 5: Animation Tools (1h 20m)
George Maestri



Are you sure you want to delete this bookmark?

cancel

Bookmark this Tutorial

Name

Description

{0} characters left

Tags

Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading
cancel

bookmark this course

{0} characters left Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading

Error:

go to playlists »

Create new playlist

name:
description:
save cancel

You must be a lynda.com member to watch this video.

Every course in the lynda.com library contains free videos that let you assess the quality of our tutorials before you subscribe—just click on the blue links to watch them. Become a member to access all 104,069 instructional videos.

get started learn more

If you are already an active lynda.com member, please log in to access the lynda.com library.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Access to lynda.com videos

Your organization has a limited access membership to the lynda.com library that allows access to only a specific, limited selection of courses.

You don't have access to this video.

You're logged in as an account administrator, but your membership is not active.

Contact a Training Solutions Advisor at 1 (888) 335-9632.

How to access this video.

If this course is one of your five classes, then your class currently isn't in session.

If you want to watch this video and it is not part of your class, upgrade your membership for unlimited access to the full library of 2,025 courses anytime, anywhere.

learn more upgrade

You can always watch the free content included in every course.

Questions? Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com.

You don't have access to this video.

You're logged in as an account administrator, but your membership is no longer active. You can still access reports and account information.

To reactivate your account, contact a Training Solutions Advisor at 1 1 (888) 335-9632.

Need help accessing this video?

You can't access this video from your master administrator account.

Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com for help accessing this video.

preview image of new course page

Try our new course pages

Explore our redesigned course pages, and tell us about your experience.

If you want to switch back to the old view, change your site preferences from the my account menu.

Try the new pages No, thanks

site feedback

Thanks for signing up.

We’ll send you a confirmation email shortly.


By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked