Creating moving stairs

From Valve Developer Community
Jump to: navigation, search
Portal Level Creation

1. Create blocks for your stairs that are 32*16*128. Align these brushes on their corners, and determine the size of the hole to make.

Step 1

2. Erase your guide blocks, and create a brush that is 32*8*128. Texture this brush as a platform. Create 4 extra brushes, that are 2*4, with their corners cut, like the platforms seen in other chambers. Create a wedge that is 32*16*128 and position it as shown. Select all these pieces and tie them to a func_brush with default settings.

Step 2

3. Duplicate this func_brush until your stair tops are completed, like the picture.

Step 3

4. Create a small sized piston by creating a "prop_dynamic" and making its "world model" and filter "piston" and find the one you like. Align it and put it in the center of the top most brush. Any sections that do not stick out should be func_detail. Take the top section, and tie it to a func_door named stairs1_1.

Property Name Value
Name door_stairs1_1
Stop Sound Doors.FullOpen1
Move Direction 90 0 0
Delay Before Reset -1

Step 4

5. Duplicate the func_detail and the func_door, and position them as shown. When having two cylinders on one step, simply add one half of the func_door to the other half.

Step 5

For the last stair piece, enter the following properties:

Property Name Value
Start Sound apc_engine_start
Stop Sound apc_engine_stop
Move Direction 90 0 0
Delay Before Reset -1

6. Clip these brushes so they do not stick through.

Step 6

7. Rename the func_door's to stairs1_2, stairs1_3, etc. Change all the lower func_door's stop sound to Doors.FullOpen1. Remove their open sound. Set the func_brush's parents to their respective func_door. Add the grate for the stairs. You may choose to add holes in the grate. Also, align all the stair textures, so they do not repeat when the stairs are closed.

Step 7

8. The stairs in their final form. The player clips allow a player to climb the stairs without it being jerky, but allow cubes to rest on them.

Step 8

9. The stairs can be closed with the input stair1* open.

Step 9

10. By using func_brushes, the stairs support portals when closed.

Step 10

See also