Ads keep us online. Without them, we wouldn't exist. We don't have paywalls or sell mods - we never will. But every month we have large bills and running ads is our only way to cover them. Please consider unblocking us. Thank you from GameBanana <3

How To: Posing Parameters on Source Models, Pt.1 - A Tutorial for Source Engine

Steering wheels, doors, guns, and more!

Okay, so for this tutorial I'm going to teach you how to make pose parameters. For those who don't know, pose parameters in Source engine are used for things like the Buggy and Charger's steering wheels/tyres, the Combine tripod turret's aiming up/down & left/right, and such things where using a ragdoll would be unneeded.
This is part one and it only covers the basics; for more advanced stuff, check out Part Two!

For this tutorial, I'm going to go over the basics of what you need to do to make your steering wheels on models work, so let's dive in.

I'll be using a student license of 3DS Max provided by my college, but you can either obtain a free student license from the Autodesk education site, or find one somewhere else. You'll also need the Wall Worm model tools, or Wunderboy's .SMD Importer/Exporter plugins depending on what version of Max you're using. I'll be using the Wunderboy plugins.

If you're familiar with Source modding, you can skip Step One as this just covers basic setup of the tools.

1. Step One

The model we will be using for this is the Buggy from HL2. You can use Crowbar to Compile and Decompile and we're going to be using it later, so I'd suggest downloading it from the official group.

To extract the model, you'll need GCFScape so download that as well.

After you download and install GCFScape, navigate to your HL2 directory to obtain the model. Usually it's C:/program files (x86)/steam/steamapps/common/half-life 2/hl2. The file we are looking for is called "hl2_misc_dir.vpk" and once you find it, open it up with GCFScape.

In GCFScape, you should now see this:


Open the models folder and find the buggy model:

GCFScape - Models Folder

Then right-click and hit extract:


Extract the model to your desktop for now, as it will be where we're working from for this tutorial.

Then launch Crowbar. You should see something near the middle of the program that looks like this:

Set up games

Click the "Set Up Games" button and set up the paths to the folder for the game you want to compile to, the screen should look like this:

Set up your paths if you have custom install paths

Click "Save and Close" when done.

Now, open the decompile tab at the top:


As you can see I've already navigated to my extracted HL2 buggy. Once you've done the same, decompile it, and remember where your decompiled files are.

Before we move on to Step Two, go ahead and open your copy of Max.

2. Step Two

Import the model of your choosing into 3DS Max by going to Max Button > Import > Import and then set the shown file type at the bottom below the file name bar to "All formats". Navigate to your model's .SMD reference mesh, and import it.

You should get a pop up like this:

Import .smd screen

Uncheck "Import Bones" as we don't need them for what we're doing.

After import, you should see something like this:

Imported Model

To my knowledge, I haven't found a way to make working posing groups without re-creating the bone structure. Now, we need to create two bones: a base, and one for the steering wheel.

Go to Create > Systems > Bones IK Chain:

Create bones

Next, anywhere in the scene left click, drag a short distance, right click, and then hit delete. This will create a bone (left click), set the size (dragging), end the bone and cap it (right click), and delete the extra cap bone (delete).

Bone created

On the right side of your screen, name the bone "base":

Name the bone

Next, at the top, go to the button that looks like 4 arrows pointing away from a cube:

Move gizmo

This is the move gizmo, and it's what we use to move object around. You can either click this button, or press the "E" key to hotkey it.

Next, press "F12" to open the movement panel:

Movement Transform

Right click on all three of the arrow sets to reset them to 0, so that the location of the bone is 0 0 0 like this:

Reset location

Now we need to do the same for the rotation. Select the rotation gizmo gizmo either at the top with the circle-arrow button, or by pressing "R" and the gizmo should change to this:

Rotation gizmo

Now, with the F12 menu open still, reset the rotation the same way, by right clicking on the arrows:

Rotation reset

Now that out base bone is reset, we need to make the steering wheel bone. Zoom in on the steering wheel on the Left viewport, and next create a bone that follows the steering column:

Steering wheel bone

Remember to delete the cap bone it creates.

We also need to set up our steering wheel bone's location, so in the Top or Front view, select the bone, and use the move tool to move the bone in line with the steering column:

Steering alignment

Remember to name the bone "steeringwheel":


Next we need to link our "steeringwheel" bone as a child of the main "base" bone using the chain icon at the top of the screen:

Link button

This is the link button, and the broken chain next it is the unlink button, which as the name implies, unlinks whatever is selected from whatever it is parented to.

Select the "steeringwheel" bone, and with the link button selected, press "H" to open the list of objects to link to:


Don't like it to a mesh (a sphere icon), link it to the bone (the two part bone icon).

Next, select the selection tool to exit the link action, and we're ready to move on:


Next, we need to do a basic skin modifier rig on our model. Select the reference mesh by clicking on it, and on the right side look for a button that looks like a rainbow:

Modify panel

This is the modify panel, and we are going to do work through here.

Before we can add and weight our model, we need to delete the old skin modifier:

Delete the old skin modifier

Now, you should see a drop-down box that says "Modifier List" in it. Find the one labeled as "Skin" and click it to add it to the list:

Skin modifier

Now, add the bone named "base" to the weight list by clicking the "Add" button in the "Parameters" rollout box:


But we're not done yet! Click on the modifier that says "Editable Mesh" and then click on the red cube under "Selection":


We need to hide all the other meshes except the steering wheel itself. With the Element selector selected, drag over the model in selection brackets and highlight each portion of the buggy (it will turn red when selected) and hide it using the "Hide" button:



Now we need to rig our steering wheel mesh to the steering wheel bone. Unselect the element (un-select the red cube in the Editable Mesh modifier) and select the skin modifier. Add another bone to it just as you did before and add the "steeringwheel" bone.

Next we need to check the bone at the top of the "Parameters" rollout that says "Edit Envelopes" and then check "Vertices":

Editing vert weights

Now, drag a selection box over the steering wheel:



To weight the verts, we need to select the weight painting tool, so select the wrench under the "Parameters" rollour:

A wrench

With the verts selected, select the "steeringwheel" bone:


And click the "1" button:

full weight

We're done with the wheel, but adding another bone has auto-weighted some of the mesh to it. Unselect the "Edit Envelopes" button, and now go back to the element selection button you were at before, and un-hide the rest of the mesh with the "Unhide All" button under the "Selection" rollout box. Next we want to hide ONLY the steering wheel, and select the rest of the mesh with the weight painting tool as we did before:

Skin the rest of the buggy to the base bone

We should now be done with the reference mesh weight painting!

3. Step Three

Now that we rigged our mesh, we're going to export a "neutral" pose, which is basically what the name implies - a pose that has no mods to it that the other poses will subtract or add to.

Go to Max Button > Export and navigate to a subfolder of your decompiled model folder, or create one somewhere else if you have somewhere else you wish to save your files.

You should see something like this in your export screen:

Export Neutral

Save it as "neutral" and you should get a new pop up screen with more options:

Export Sequence

Notice that I'm saving it as a sequence from frame 0 to 1; when it comes to static props or posable props, you only need one frame, and having more than that can marginally increase the file size of the .smd sequence files. While this might not matter, it's worth noting.

After this, we're going to pose the prop's turn LEFT sequence. Select the steering wheel bone first; it should be named "steeringwheel".

If you need to locate the bone quickly, press the "H" key and it will open the pop up selection menu which shows all the objects currently visible in the scene. It should be near the bottom of the list if you expand the brackets:

Select Steering wheel Bone

For this tutorial, just to cover the basics, we're only going to animate the steering wheel in this step, so once you've selected the steering wheel, select the rotation gizmo either at the top with the circle-arrow button, or by pressing "R"

At the top you should see a drop down butrton next to the gizmo buttons:

Gizmo drop down

This is the axis selection drop down, and for this step we need to make sure we have the rotation gizmo active, and the drop down box set to "Local" rotations.

After this, your gizmo should go from this:

Gizmo set to View

To this:

Gizmo set to Local

This is how we're going to make our steering wheel rotate correctly when we rotate it so that it doesn't rotate in a non-realistic way such as rotating off the steering column.

Before we start roating however, there is another button we need to set turned to on: rotational snapping.

At the top in the action tool bar look for an icon that looks like this:

Angle Snap

This is the angle snap tool. It will allow us to snap our angles to precise degrees of rotation. I have my personal one set to 5 degrees, but you can set it to whatever you want.

If you right click on the icon it will show the options panel:

Angle Snap Options

If you want to set your degree snaps, change the value of "Angle".

With your angle set to a multiple of 5, and the rotational axis set to "Local", go into view of your choice and rotate on the axis matching the steering column to the LEFT:

Rotating to the LEFT

Always make your rotations on player vehicles rotate 60 degree to the left and right when you do them as this will match up with the default HL2MP animations for driving.

Next, export this scene as another sequence .smd named "turn_left":

Name the file turn_left

After this, reset the steering wheel to the center position, either with undo or by manually rotating it back. Next we're going to do the same with the RIGHT rotation:

Turn RIGHT 60 degrees

Next export it, just as you did before, naming this file "turn_right":

Export as Turn_Right
Save as sequence .smd

For our final step, we need to export the actual reference mesh itself so that we have an actual model to work with.
Export the scene as you did before, by going to Max Button > Export and saving the scene as "reference.smd":

Save as reference.smd

Save as a reference mesh

Before you save it though, notice that I have selected, "Use Explicit Normals" in the check boxes. What this does is preserves the original smoothing groups on the model that it had when you imported it into the scene, so that it won't look like it has no smoothing.

Now we're ready to move on to the .QC file editing!

4. Step Four

It's highly recommended you use NotePad++ for the editing of .QC files as it has context highlighting, but you can also use standard Notepad for this as well. Do not use Wordpad.

In NotePad++ copy and paste the following PasteBin's page content:


For this tutorial, we're skipping physics models and other things like that for now since the focus of this tutorial is on posing paremters.

Save this as "buggy.qc" in NotePad++:

Save as

Next, open the .QC file in Crowbar's Compile tab:

Open the Buggy.qc file

And click the compile button in the middle.

You should see the box below the compile button fill with text:

Check for errors if it gives any

It should come out error-free if you followed my instructions, so next click the button at the bottom that says "Use in View" to open it in the view tab:

Use in view

At the bottom, click the button that says "View" to open the selected model in HLMV:


If it worked, HLMV will open shortly. Go get a cup of cola.

You should now see this:


Click on the tab that says "Sequence" and look for a drag line that says "steeringwheel":


This is the posing control for our steering wheel! Zoom in on the steering wheel and see if it moves:




Congrats! You've made your first posable bone in HLMV!

Want to test your skills? See if you can do the following to this and any other models:

  • Moving pedals
  • Steering tyres as well as the steering wheel
  • Windshield wipers
  • Speedometers & tachometers

Leave comments & things I should clear up in the comments below.

Also, I did a speedy video tutorial that more or less has me doing all the steps on a caffine rush:

Part Two is Here!
  • asdasdasdasdsdadasdasdasdasdas avatar
    asdasdasdasdsdadasdasdasdasdas username pic Joined 7y ago
    not here
    4,666 points Ranked 1,697th
    27 medals 1 legendary 4 rare
    • Returned 5000 times Medal icon
    • Hotline Miami 2 Early Adopter (5+ submissions) Medal icon
    • Returned 1000 times Medal icon
    • 6 years a member Medal icon
    • 10 submissions featured Medal icon
    • Unlocked Treehouse VIP clearance Medal icon
    Very nice! It must've taken you a fuck ton of time to embed all those pictures, but they make the tutorial a million times better! This has a really good chance of winning!
    URL to post:


Difficulty Level