Difference between revisions of "Creating a moving platform"

From Valve Developer Community
Jump to: navigation, search
m (Creating functions)
m (minor tidy & removed unecessary note & categorized)
Line 1: Line 1:
== Introduction ==
 
 
[[Image:moving_platform_01.jpg|right|Width:64]]
 
[[Image:moving_platform_01.jpg|right|Width:64]]
 
In this tutorial you will learn how to create a moving platform.
 
In this tutorial you will learn how to create a moving platform.
Line 28: Line 27:
 
|-
 
|-
 
| Name || platform_func
 
| Name || platform_func
|-
 
|
 
 
|}
 
|}
  
Line 39: Line 36:
 
|-
 
|-
 
| Stop sound || <code>Doors.FullClose12</code>
 
| Stop sound || <code>Doors.FullClose12</code>
|-
 
|
 
 
|}
 
|}
  
''Notes: changed <code>func_door</code> to <code>func_tracktrain</code>.''
 
  
 
== Path tracking ==
 
== Path tracking ==
Line 57: Line 51:
 
|-
 
|-
 
| Next stop target || <code>P1_S1_O</code>
 
| Next stop target || <code>P1_S1_O</code>
|-
 
|
 
 
|}
 
|}
  
Line 69: Line 61:
 
|-
 
|-
 
| Next stop target || <code>P1_S2_I</code>
 
| Next stop target || <code>P1_S2_I</code>
|-
 
|
 
 
|}
 
|}
  
Line 81: Line 71:
 
|-
 
|-
 
| Next stop target || <code>P1_S2_M</code>
 
| Next stop target || <code>P1_S2_M</code>
|-
 
|
 
 
|}
 
|}
  
Line 93: Line 81:
 
|-
 
|-
 
| Next stop target || <code>P1_S2_O</code>
 
| Next stop target || <code>P1_S2_O</code>
|-
 
|
 
 
|}
 
|}
  
Line 105: Line 91:
 
|-
 
|-
 
| Next stop target || <code>P1_S1_I</code>
 
| Next stop target || <code>P1_S1_I</code>
|-
 
|
 
 
|}
 
|}
  
Line 122: Line 106:
 
== See also ==
 
== See also ==
 
* [http://myfreefilehosting.com/f/c28a01c6bb_0.1MB Moving platform] - an example map for the above tutorial.
 
* [http://myfreefilehosting.com/f/c28a01c6bb_0.1MB Moving platform] - an example map for the above tutorial.
 +
 +
[[Category:Level Design Tutorials]]

Revision as of 20:20, 18 February 2008

Width:64

In this tutorial you will learn how to create a moving platform.

Setting up the model

You will need one from these models

  • This one is bigger: models/props/light_rail_platform.mdl .
  • This one is smaller models/props/light_rail_platform_02.mdl .
  • After you have decided witch one is better for you, name it platform_model.
  • Set its parent to platform_func, which we'll create next.

Creating functions

Moving platform system.jpg

Create brush with dimensions of chosen platform. It’s not necessary, but it will surely work. Tie it to func_tracktrain entity by pressing Ctrl-T, and set its variables as follows:

Property Name Value
Change angles this is up to you, I’m using: never (fixed orientation)
Change velocity too, it’s your choice, but: ease in/ease out
First stop target P1_S1_M
Initial speed 100
Max speed 10 000
Name platform_func

And, you may set sounds:

Property Name Value
Start sound Doors.Move12
Stop sound Doors.FullClose12


Path tracking

Our platform is using the path_track entities to specify its movement course, so we have to add these now. You can see the architecture we will use.

Create a set of path_tracks, configuring them as follows:

Property Name Value
Name P1_S1_M
New train speed 30
Next stop target P1_S1_O
Property Name Value
Name P1_S1_O
New train speed 200
Next stop target P1_S2_I
Property Name Value
Name P1_S2_I
New train speed 30
Next stop target P1_S2_M
Property Name Value
Name P1_S2_M
New train speed 30
Next stop target P1_S2_O
Property Name Value
Name P1_S2_O
New train speed 200
Next stop target P1_S1_I

Place them as necessary but make sure they are linked, as shown by a yellow line in Hammer's viewports.

Final touches

Now you have a working platform, so we can add a few models to support it. That oval-shaped object is used on walls, so it's easy to add to your map. The second model looks better, you may even add that stand under it.

See also