Adding Prop Models: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Temp save. Still working on this, but wanted to comment on another thing first.)
m (Temp save. Going to compare this article to some old ones before a merge.)
Line 2: Line 2:
{{first room menu}}
{{first room menu}}


Prop models are geometry files created in a modeling program such as Softimage|XSI. You can place these prop models in Hammer, like adding props to a movie set.
Prop models are geometry files created in a modeling program such as Softimage|XSI. You can place these prop models in maps like adding props to a movie set.
 
<br clear="both">
 
[[Image:hammer_pickpropstatic.jpg |thumb|right|400px| Select [[prop_static]] from the drop-down list.]]


There are basically three types of props:
There are basically three types of props:
Line 12: Line 8:
* ''Dynamic'' props are props that can be animated.
* ''Dynamic'' props are props that can be animated.
* ''Physics'' props are props that can be tossed about (obeying physics like gravity).
* ''Physics'' props are props that can be tossed about (obeying physics like gravity).
You will learn how to place and position two of these types in this tutorial.
<br clear="both">
[[Image:hammer_pickpropstatic.jpg |thumb|left|200px| Select [[prop_static]] from the drop-down list.]]
[[Image:hammer_placepropstatic.jpg |thumb|right|200px| Place the ''prop_static'' entity on the floor by clicking in the 3D View.]]


We will start by adding a static prop.
We will start by adding a static prop.
Line 19: Line 23:
Then pick [[prop_static]] from the entity list in the '''Objects Toolbar'''.
Then pick [[prop_static]] from the entity list in the '''Objects Toolbar'''.


Place the ''prop_static'' in the map by clicking on the floor brush in the 3D view.
The result is a little red box. That's because we haven't decided what the prop will look like yet.
We will have to choose a model for this prop to do that.


<br clear="both">
<br clear="both">


[[Image:hammer_placepropstatic.jpg |thumb|right|400px| Place the ''prop_static'' entity on the floor by clicking in the 3D View.]]
[[Image:hammer_pickworldmodel.gif |thumb|right|500px| Switch to the World Model field.]]
 
Switch to the Selection Tool and double-click the ''prop_static'' to bring up its properties.


Place the ''prop_static'' in the map by clicking on the floor brush in the 3D View.
# Click the '''World Model''' field in the '''Object Properties''' dialog.
# Then click the '''Browse...''' button and wait patiently while the '''Model Browser''' loads.


Double-click it to bring up its properties.
(Currently the pictures you see in this tutorial refer to an older version of the Model Browser, so don't let them confuse you.)


<br clear="both">
<br clear="both">


[[Image:hammer_pickworldmodel.gif |thumb|right|400px| Switch to the World Model field.]]
[[Image:hammer_pickfolder_sm.jpg |thumb|right|400px| Click a folder to change to that sub-directory.]]


We will now pick a model for this entity.
Don't worry that it sais "ERROR" in big red letters in the preview window of the Model Browser. That's just because we haven't chosen any model to preview yet.


# Click the '''World Model''' field in the '''Object Properties''' dialog.
Click the ''props_c17'' folder in the model browser to list the models in it in the lower right window.
# Click the '''Browse''' button to open the model browser.


<br clear="both">
<br clear="both">


[[Image:hammer_pickfolder_sm.jpg |thumb|right|400px| Double-click a folder to change to that sub-directory.]]
[[Image:hammer_pickfence_sm.jpg |thumb|right|400px| Click the ''fence01a'' model to select it, and then click ''OK'' to close the browser.]]
 
There are a lot of models in this folder, so instead of scrolling through the entire list, we can simply filter the content like we did with the texture browser, by typing in "<code>fence</code>" in the text box just beneath the list.


Double-click the ''props_c17'' folder in the model browser to open the sub-directory.
Click the model file <code>fence01a.mdl</code> to select it.


<br clear="both">
A preview of the model will be displayed in the preview window. You can drag your mouse in that window to freely rotate the model if you want.


[[Image:hammer_pickfence_sm.jpg |thumb|right|400px| Double-click the ''fence01a'' model to select it and close the browser.]]
When you're done with inspecting the preview, confirm your choice of the model by clicking ''OK''.


<br clear="left">
The Model Browser will close and the ''fence01a'' model will be selected as the model for the ''prop_static'' entity.


[[Image:hammer_pickapply_sm.jpg |thumb|right|400px| Click the ''Apply'' button to confirm your changes.]]
[[Image:hammer_pickapply_sm.jpg |thumb|right|400px| Click the ''Apply'' button to confirm your changes.]]


Double-click the model <code>fence01a.jpg</code> to select it, as shown here.
Click the ''Apply'' button to commit the changes.
 
The ''prop_static'' will now change into displaying the fence model you selected in the 3D view.


The model browser will close and the <code>fence01a</code> will be selected as the model for the <i>prop_static</i> entity.


<br clear="both">
<br clear="both">


[[Image:hammer_pickpropphysics.jpg |thumb|right|400px| Pick the prop_physics_multiplayer entity.]]
[[Image:hammer_pickpropphysics.jpg |thumb|left|100px| Choose the appropriate physics prop entity.]]


[[Image:hammer_placepropphysics.jpg |thumb|right|200px| Place the physics prop entity by clicking the floor in the 3D view.]]


Notice how the fence model now appears in the 3D View.
We will now add a prop model with physics properties.
Click the '''Apply''' button to commit the changes and see the results in the '''3D View'''.


Now we'll add a prop model with physics properties.
Switch to the '''Entity Tool'''.


Switch to the Entity Tool.
The type of prop_physics entity we are going to choose depends on what game your map is for.


Choose [[prop_physics_multiplayer]] from the entity list in the Object Toolbar.
* If you are mapping for [[Half-Life 2]]: Single Player, choose the [[prop_physics]] entity.
* If you are mapping for [[Half-Life 2: Death-Match]], choose the [[prop_physics_multiplayer]] entity.


<br clear="both">
Choose the appropriate entity from the entity list in the ''Object Toolbar''.
[[Image:hammer_placepropphysics.jpg |thumb|right|400px| Place the ''prop_physics_multiplayer'' entity by clicking the floor in the 3D View.]]


Place the ''prop_physics_multiplayer'' entity into the room by clicking on the floor in the '''3D View'''.
Place the physics prop entity somewhere on the floor of the room.


Now open the '''Object Properties''' dialog by choosing '''Properties''' from the '''Edit Menu''', if it's not already open.
Re-open the '''Object Properties''' dialog if you've closed it, to display the properties of the physics prop. Otherwise the dialog will automatically have changed to display its properties.
 
The '''Object Properties''' dialog will now show the parameters of the ''prop_physics_multiplayer'' entity.


<br clear="both">
<br clear="both">


[[Image:hammer_pickbarrel_sm.jpg |thumb|right|400px| After clicking Browser, scroll down to the oildrum001 model, and double-click it.]]
[[Image:hammer_pickbarrel_sm.jpg |thumb|right|400px| After having opened the browser, open the ''props_c17'' folder, choose the ''oildrum001'' model, and click ''OK''.]]


Click the '''Browse''' button in the '''World Model''' field in the '''Object Properties''' dialog to bring up the model browser.
Again click the '''Browse...''' button in the '''World Model''' field in the '''Object Properties''' dialog to load up the model browser.


Scroll down in the browser and double-click the <code>oildrum001.jpg</code> in the <code>props_c17</code> model directory, as shown here.
Open the ''props_c17'' folder, choose the <code>oildrum001.mdl</code>, and close the browser with ''OK''.


<br clear="both">
<br clear="both">


[[Image:hammer_pickapply_sm2.jpg |thumb|right|400px| Click ''Apply'' to make the change and update the 3D View.]]
[[Image:hammer_pickapply_sm2.jpg |thumb|right|400px| Click ''Apply'' to make the change and update the 3D view.]]


Click the '''Apply''' button to confirm your changes.
Click the '''Apply''' button to confirm your changes, and the physics prop will change to the barrel model you selected.
 
Notice how the barrel model model now appears in the '''3D View next''' to the fence.


<br clear="both">
<br clear="both">


[[Image:hammer_closeprop.jpg |thumb|right|400px| Close the Object Properties dialog.]]
[[Image:hammer_closeprop.jpg |thumb|right|200px| Close the '''Object Properties''' dialog.]]


Close the '''Object Properties''' dialog.
Close the '''Object Properties''' dialog.
Line 104: Line 112:
<br clear="both">
<br clear="both">


=Moving Objects with the Grid=
==Moving Objects==


[[Image:hammer_pickselect.jpg |thumb|right|400px| Switch to the Selection Tool.]]
[[Image:hammer_pickselect.jpg |thumb|right|400px| Switch to the Selection Tool.]]
Line 131: Line 139:


If you accidentally alter the fade distance controls, just choose '''Undo''' from the '''Edit''' menu to revert the change.
If you accidentally alter the fade distance controls, just choose '''Undo''' from the '''Edit''' menu to revert the change.
==The Grid==


You may find that you can't quite line up the bottom of the model with the floor. The current size of the grid prevents it. Get it close as you can, and we'll fix that next.
You may find that you can't quite line up the bottom of the model with the floor. The current size of the grid prevents it. Get it close as you can, and we'll fix that next.
Line 138: Line 149:
[[Image:hammer_movefence_sm.jpg |thumb|right|400px| Decrease the size of the grid so the objects can be moved in finer steps.]]
[[Image:hammer_movefence_sm.jpg |thumb|right|400px| Decrease the size of the grid so the objects can be moved in finer steps.]]


For finer control, click the '''Smaller Grid''' button in the upper left corner of the Hammer window.
To decrease the gird size, for finer control, click the '''Smaller Grid''' button in the upper left corner of the Hammer window.


The size of the grid controls how objects are lined up to one another.
The size of the grid controls how objects are lined up to one another.
Line 148: Line 159:
With a smaller grid, now try moving the fence again. You can see that it's now possible to line it up with the bottom of the floor, as shown.
With a smaller grid, now try moving the fence again. You can see that it's now possible to line it up with the bottom of the floor, as shown.


If you find that you still can't line up the fence with the floor, click the '''Smaller Grid''' button again.
If you find that you still can't line up the fence with the floor, decrease the grid size by clicking the '''Smaller Grid''' button again.


'''Note:''' It's okay if the ''prop_static'' entity sticks into the floor a little bit.
'''Note:''' It's okay if the ''prop_static'' entity sticks into the floor a little bit.
Line 155: Line 166:




Now onto [[Saving and Compiling]]!
In our final chapter, we will learn how to save and compile this map:
 
[[Saving and Compiling]]

Revision as of 23:51, 16 February 2006

Prop models are geometry files created in a modeling program such as Softimage|XSI. You can place these prop models in maps like adding props to a movie set.

There are basically three types of props:

  • Static props will always be stationary in the map.
  • Dynamic props are props that can be animated.
  • Physics props are props that can be tossed about (obeying physics like gravity).

You will learn how to place and position two of these types in this tutorial.


Select prop_static from the drop-down list.
Place the prop_static entity on the floor by clicking in the 3D View.

We will start by adding a static prop.

All props are entities, and handled as such, so switch to the Entity Tool again.

Then pick prop_static from the entity list in the Objects Toolbar.

Place the prop_static in the map by clicking on the floor brush in the 3D view.

The result is a little red box. That's because we haven't decided what the prop will look like yet.

We will have to choose a model for this prop to do that.


Switch to the World Model field.

Switch to the Selection Tool and double-click the prop_static to bring up its properties.

  1. Click the World Model field in the Object Properties dialog.
  2. Then click the Browse... button and wait patiently while the Model Browser loads.

(Currently the pictures you see in this tutorial refer to an older version of the Model Browser, so don't let them confuse you.)


File:Hammer pickfolder sm.jpg
Click a folder to change to that sub-directory.

Don't worry that it sais "ERROR" in big red letters in the preview window of the Model Browser. That's just because we haven't chosen any model to preview yet.

Click the props_c17 folder in the model browser to list the models in it in the lower right window.


File:Hammer pickfence sm.jpg
Click the fence01a model to select it, and then click OK to close the browser.

There are a lot of models in this folder, so instead of scrolling through the entire list, we can simply filter the content like we did with the texture browser, by typing in "fence" in the text box just beneath the list.

Click the model file fence01a.mdl to select it.

A preview of the model will be displayed in the preview window. You can drag your mouse in that window to freely rotate the model if you want.

When you're done with inspecting the preview, confirm your choice of the model by clicking OK.

The Model Browser will close and the fence01a model will be selected as the model for the prop_static entity.

Click the Apply button to confirm your changes.

Click the Apply button to commit the changes.

The prop_static will now change into displaying the fence model you selected in the 3D view.



Choose the appropriate physics prop entity.
Place the physics prop entity by clicking the floor in the 3D view.

We will now add a prop model with physics properties.

Switch to the Entity Tool.

The type of prop_physics entity we are going to choose depends on what game your map is for.

Choose the appropriate entity from the entity list in the Object Toolbar.

Place the physics prop entity somewhere on the floor of the room.

Re-open the Object Properties dialog if you've closed it, to display the properties of the physics prop. Otherwise the dialog will automatically have changed to display its properties.


File:Hammer pickbarrel sm.jpg
After having opened the browser, open the props_c17 folder, choose the oildrum001 model, and click OK.

Again click the Browse... button in the World Model field in the Object Properties dialog to load up the model browser.

Open the props_c17 folder, choose the oildrum001.mdl, and close the browser with OK.


Click Apply to make the change and update the 3D view.

Click the Apply button to confirm your changes, and the physics prop will change to the barrel model you selected.


Close the Object Properties dialog.

Close the Object Properties dialog.


Moving Objects

Switch to the Selection Tool.

You may have noticed that the fence model is stuck part-way into the floor. We need to move it up.

First, switch to the Selection Tool so we can move the object.


Select the fence model in the 3D View by clicking it.

Now select the fence model by clicking on it in the 3D View.

A yellow box will appear around the model in the 3D View, showing that you've selected it.


Click and drag the fence in the Side View to move it.

Next, we'll move the fence model in the 2D Side View, since it's easy to see how it meets the floor.

To move the fence, click anywhere side the red bounding box in the 2D View, except in the very center of the box. Then drag the mouse cursor to the new location to move it.

When you drag it, make sure you don't accidentally grab one the 4 boxes in the center of the entity. These control the distance fading of the object, and we don't want to change that.

If you accidentally alter the fade distance controls, just choose Undo from the Edit menu to revert the change.


The Grid

You may find that you can't quite line up the bottom of the model with the floor. The current size of the grid prevents it. Get it close as you can, and we'll fix that next.


Decrease the size of the grid so the objects can be moved in finer steps.

To decrease the gird size, for finer control, click the Smaller Grid button in the upper left corner of the Hammer window.

The size of the grid controls how objects are lined up to one another.


With the grid size smaller, the fence can be lined up with the floor.

With a smaller grid, now try moving the fence again. You can see that it's now possible to line it up with the bottom of the floor, as shown.

If you find that you still can't line up the fence with the floor, decrease the grid size by clicking the Smaller Grid button again.

Note: It's okay if the prop_static entity sticks into the floor a little bit.



In our final chapter, we will learn how to save and compile this map:

Saving and Compiling