Creating a moving platform: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
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 13: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