Adding Prop Models: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
m (bug notice hidetested=1 param on page where it might not make sense)
 
(50 intermediate revisions by 26 users not shown)
Line 1: Line 1:
[[Category:Level Design]][[Category:Tutorials]]
{{LanguageBar}}
=Introduction=
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.


=Adding Prop Models=
{{first room menu}}


We're going to add some more entities, so pick the '''Entity Tool''' again.
Prop models are geometry files created in a modeling program such as [[Softimage Mod Tool]]. You can place these prop models in maps like adding props to a movie set.


Then pick prop_static from the entity list in the '''Objects Toolbar'''.
There are basically three types of props:
* ''Static'' props will always be stationary in the map.
* ''Dynamic'' props are props that can be animated and/or can move with another object.
* ''Physics'' props are props that can be tossed about (obeying physics like gravity).


[[Image:hammer_pickpropstatic.jpg | Select prop_static from the drop-down list.]]
You will learn how to place and position two of these types in this tutorial.


==== Known bugs in the model browser: ====
{{bug|hidetested=1|When using the filter (search function) the text typed will be typed backwards if the mouse cursor is outside of the model browser. Example: Typing "sign" will be shown as "ngis".}}




Place the <i>prop_static</i> in the map by clicking on the floor brush in the 3D View.
{{clr}}


Notice that the Object Properties dialog now shows the settings for the <i>prop_static</i> entity.
[[File:hammer_pickpropstatic.png|thumb|left|200px|Select [[prop_static]] from the drop-down list.]]
[[File:hammer_placepropstatic.png|thumb|right|300px|Place the ''prop_static'' entity on the floor by clicking in the 3D View.]]


[[Image:hammer_placepropstatic.jpg | Place the prop_static entity on the floor by click 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.


Now we'll pick a model for the entity. If you closed the '''Object Properties''' dialog, you re-open it choosing '''Properties''' from the '''Edit Menu'''.
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.
 
{{clr}}
 
[[File:hammer_pickworldmodel.png|thumb|right|400px|Switch to the World Model field.]]
 
Switch to the Selection Tool and double-click the ''prop_static'' to bring up its properties.


# Click the '''World Model''' field in the '''Object Properties''' dialog.
# Click the '''World Model''' field in the '''Object Properties''' dialog.
# Click the '''Browse''' button to open the model browser.
# Click the '''Browse...''' button and wait patiently while the '''Model Browser''' list populates. (You will only have to wait once; after that, the list will be cached for future searches.)


[[Image:hammer_pickworldmodel.gif | Switch to the World Model field.]]
{{note|There are currently two types of model browsers in Hammer, depending of whether the ''Use VGUI model browser'' flag is checked in the Hammer options. This tutorial will only focus on the new and default VGUI model browser. The older browser is similar to a normal Windows file explorer.}}


Double-click the <i>props_c17</i> folder in the model browser to open the sub-directory.
{{clr}}


[[Image:hammer_pickfolder_sm.jpg | Double-click a folder to change to that sub-directory.]]
[[File:Hammer_ModelBrowser_PickFolder.jpg|thumb|right|400px|Click a folder to change to that sub-directory.]]


Double-click the model <code>fence01a.jpg</code> to select it, as shown here.
Don’t worry that it says “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.


The model browser will close and the <code>fence01a</code> will be selected as the model for the <i>prop_static</i> entity.
Click the ''props_c17'' folder in the model browser to list its models in the lower left window.


[[Image:hammer_pickfence_sm.jpg | Double-click the fence01a model to select it and close the browser.]]
{{clr}}


[[Image:hammer_pickapply_sm.jpg | Click the Apply button to confirm your changes.]]
[[File:Hammer_ModelBrowser_PickFence.jpg|thumb|right|400px|Click the ''fence01a'' model to select it, and then click ''OK'' to close the browser.]]


Notice how the fence model now appears in the 3D View.
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.
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.
Click the model file <code>fence01a.mdl</code> to select it.


Switch to the Entity Tool.
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.


Choose prop_physics_multiplayer from the entity list in the Object Toolbar.
When you’re done with inspecting the preview, confirm your model choice by clicking ''OK''.
[[Image:hammer_pickpropphysics.jpg | Pick the prop_physics_multiplayer entity.]]


Place the <i>prop_physics_multiplayer</i> entity into the room by clicking on the floor in the '''3D View'''.
The Model Browser will close and the ''fence01a'' model will be selected as the model for the ''prop_static'' entity.


Now open the '''Object Properties''' dialog by choosing '''Properties''' from the '''Edit Menu''', if it's not already open.
[[File:hammer_pickapply_sm.png|thumb|right|400px|Click the ''Apply'' button to confirm your changes.]]


The '''Object Properties''' dialog will now show the parameters of the <i>prop_physics_multiplayer entity</i>.
Click the ''Apply'' button to commit the changes.


[[Image:hammer_placepropphysics.jpg | Place the prop_physics_multiplayer entity by clicking the floor in the 3D View.]]
The ''prop_static'' will now change into displaying the fence model you selected in the 3D view.


Click the '''Browse''' button in the '''World Model''' field in the '''Object Properties''' dialog to bring up the model browser.
You can also change the direction the fence faces by changing the pitch yaw and roll settings or using the angle circle and typing in a value between 0 and 360.  


Scroll down in the browser and double-click the <code>oildrum001.jpg</code> in the <code>props_c17</code> model directory, as shown here.


[[Image:hammer_pickbarrel_sm.jpg | After clicking Browser, scroll down to the oildrum001 model, and double-click it.]]
{{clr}}


Click the '''Apply''' button to confirm your changes.
[[File:hammer_pickpropphysics.jpg|thumb|left|100px|Choose the appropriate physics prop entity.]]
[[File:hammer_placepropphysics.png|thumb|right|300px|Place the physics prop entity by clicking the floor in the 3D view.]]


Notice how the barrel model model now appears in the '''3D View next''' to the fence.
Now let’s add a prop model with physics properties.


[[Image:hammer_pickapply_sm2.jpg | Click the Apply button to make the change and update the 3D View.]]
Switch to the '''Entity Tool'''.


Close the '''Object Properties''' dialog.
The type of prop_physics entity we’ll need depends on your game choice.
 
* If you are mapping for [[Half-Life 2]]: Single Player, choose the [[prop_physics]] entity.
* If you are mapping for [[Half-Life 2: Deathmatch]], choose the [[prop_physics]]/[[prop_physics_respawnable]] entity. (Do '''NOT''' choose the [[prop_physics_multiplayer]] entity, because gravity gun can’t interact with it.)
* If you are mapping for [[Counter-Strike: Source]], choose the [[prop_physics_multiplayer]] entity.
 
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.
 
{{clr}}
 
[[File:Hammer_ModelBrowser_PickOildrum.jpg|thumb|right|400px|After opening the browser, search for <code>oildrum</code>, 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.
 
# Instead of “<code>fence</code>”, search for “<code>oildrum</code>”.
# Pick the <code>oildrum001.mdl</code>.
# Close the browser with ''OK''.
 
{{clr}}
 
[[File:hammer_pickapply_sm2.png|thumb|right|400px|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.


[[Image:hammer_closeprop.jpg | Close the Object Properties dialog.]]
{{clr}}


=Moving Objects with the Grid=
[[File:hammer_closeprop.png|thumb|right|200px|Close the '''Object Properties''' dialog.]]


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


First, switch to the '''Selection Tool''' so we can move the object.
{{clr}}


[[Image:hammer_pickselect.jpg | Switch to the Selection Tool.]]
== Moving objects ==
[[File:hammer_pickselect.png|frame|right|Switch to the Selection Tool.]]


Now select the fence model by clicking on it in the '''3D View'''.
Right now the fence model is stuck half-way into the floor. Let’s move it up.


A yellow box will appear around the model in the '''3D View''', showing that you've selected it.
Entities are moved just like brushes are:


[[Image:hammer_selectfence_sm.jpg | Select the fence model in the 3D View by clicking it.]]
Switch to the '''Selection Tool''' and click on the fence to select it.


Next, we'll move the fence model in the '''2D Side View''', since it's easy to see how it meets the floor.
Then select the fence model by clicking on it in the 3D view.


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.
A box will appear around the model in all the views, showing that it has been selected.


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.
To move something along the z axis (up or down), you’ll need to move it in one of the lower views (named ''front (y/z)'' or ''side (x/z)'').


If you make accidentaly alter the fade distance controls, just choose '''Undo''' from the '''Edit''' menu to revert the change.
Click inside the red bounding box in one of these 2D views, and then drag the fence upward until it’s closer to the floor.


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.
[[File:hammer_selectfence_sm.png|thumb|left|400px|Select the fence model in the 3D view by clicking it, and then click and drag the fence in one of the lower views to move it.]]


[[Image:hammer_selectfence_sm.jpg | Click and drag the fence in the Side View to move it.]]
{{clr}}


For finer control, click the '''Smaller Grid''' button in the upper left corner of the Hammer window.
[[File:hammer_picksmgrid.png|frame|right|Decrease the size of the grid so the objects can be moved in finer steps.]]


The size of the grid controls how objects are lined up to one another.
You may find that you can’t quite line up the bottom of the model with the floor because the current size of the grid prevents it. It won’t matter that much if the fence sticks somewhat into the floor, but if you want it exactly aligned you will need to decrease the grid size:


[[Image:hammer_movefence_sm.jpg | Decrease the size of the grid so the objects can be moved in finer steps.]]
# Click the '''Smaller Grid''' button in the grid toolbar in the upper left corner of the Hammer window.
# Zoom in a bit on where the fence meets the floor, so that you can see better.
# Adjust the height of the fence.
# Repeat steps 1–3 until you’re satisfied. (For a perfect fit, you will need to decrease the grid size to 2.)
{{note|Alternatively, you can use the shortcut key {{key|[}} to decrease the grid size, or the {{key|]}} key to increase it.}}


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.
[[File:hammer_movefence_sm.png|thumb|left|400px|With the grid size smaller, the fence can be lined up with the floor.]]


If you find that you still can't line up the fence with the floor, click the '''Smaller Grid''' button again.
{{clr}}


'''Note:''' It's OK if the prop_static entity sticks into the floor a little bit.
Now you are finally done with the blueprints for this map.


[[Image:hammer_picksmgrid.jpg | With the grid size smaller, the fence can be lined up with the floor.]]
{{Navbar|Adding Light|Your First Map|Saving and Compiling}}
[[Category:Level Design]]
[[Category:Tutorials]]

Latest revision as of 07:05, 20 May 2025

English (en)Français (fr)日本語 (ja)Polski (pl)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)

Prop models are geometry files created in a modeling program such as Softimage Mod Tool. 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 and/or can move with another object.
  • 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.

Known bugs in the model browser:

Icon-Bug.pngBug:When using the filter (search function) the text typed will be typed backwards if the mouse cursor is outside of the model browser. Example: Typing "sign" will be shown as "ngis".


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. Click the Browse... button and wait patiently while the Model Browser list populates. (You will only have to wait once; after that, the list will be cached for future searches.)
Note.pngNote:There are currently two types of model browsers in Hammer, depending of whether the Use VGUI model browser flag is checked in the Hammer options. This tutorial will only focus on the new and default VGUI model browser. The older browser is similar to a normal Windows file explorer.
Click a folder to change to that sub-directory.

Don’t worry that it says “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 its models in the lower left window.

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.

When you’re done with inspecting the preview, confirm your model choice 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.

You can also change the direction the fence faces by changing the pitch yaw and roll settings or using the angle circle and typing in a value between 0 and 360.


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

Now let’s add a prop model with physics properties.

Switch to the Entity Tool.

The type of prop_physics entity we’ll need depends on your game choice.

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.

After opening the browser, search for oildrum, 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.

  1. Instead of “fence”, search for “oildrum”.
  2. Pick the oildrum001.mdl.
  3. 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.

Right now the fence model is stuck half-way into the floor. Let’s move it up.

Entities are moved just like brushes are:

Switch to the Selection Tool and click on the fence to select it.

Then select the fence model by clicking on it in the 3D view.

A box will appear around the model in all the views, showing that it has been selected.

To move something along the z axis (up or down), you’ll need to move it in one of the lower views (named front (y/z) or side (x/z)).

Click inside the red bounding box in one of these 2D views, and then drag the fence upward until it’s closer to the floor.

Select the fence model in the 3D view by clicking it, and then click and drag the fence in one of the lower views to move it.
Decrease the size of the grid so the objects can be moved in finer steps.

You may find that you can’t quite line up the bottom of the model with the floor because the current size of the grid prevents it. It won’t matter that much if the fence sticks somewhat into the floor, but if you want it exactly aligned you will need to decrease the grid size:

  1. Click the Smaller Grid button in the grid toolbar in the upper left corner of the Hammer window.
  2. Zoom in a bit on where the fence meets the floor, so that you can see better.
  3. Adjust the height of the fence.
  4. Repeat steps 1–3 until you’re satisfied. (For a perfect fit, you will need to decrease the grid size to 2.)
Note.pngNote:Alternatively, you can use the shortcut key [ to decrease the grid size, or the ] key to increase it.
With the grid size smaller, the fence can be lined up with the floor.

Now you are finally done with the blueprints for this map.