Making Irregular Staircases the Easy Way

Kube

Not the correct way to make lasagna
aa
Aug 31, 2014
1,342
1,849
Staircases in Hammer: they're hard. Let's learn how to make some tricky tricky staircases, k?

This tip will work with any staircase dimensions.

(Disclaimer: This is for irregular staircase dimensions. It is recommended that you use regular dimensions for all your staircase needs, but this is a catch-all way to handle things.)


Step 1)

Make a slope in the dimensions that you want your staircase to have.

PbMKRFP.png


Step 2)

Using the Clipping tool, in the top-down view, cut your slope into pieces as so.

09YjGbW.png


Step 3)

Flip each piece vertically and separately using ctrl+I. It is recommended that you use a 2D side view to select each piece. Shift staircase into place as necessary.

MgmEyE8.png


Step 4)

Celebrate! Don't forget to clip your creation using blockbullets. You can also add fancy side slopes. Most times you should func_detail the entire staircase.

Make sure to get rid of those annoying bottom slopes. One way to do this is to create a new brush for each staircase, at the height of the old brush. Remember that new brushes created in the top-down view will retain the height of anything you have selected while making the brush.

O3w8J9A.png


Players will be stepping all over your creations in no time!

Edit)

Here's an alternative (better) way to cut the bottom of your stairs:

30140-fcee106db20bf4b088691216b13896ac.jpg


Thank you @DrLambda for the illustration. Thank you @Crash and @Crowbar for clearing up some confusion. @Crowbar's second comment below discusses the difference in faces between different staircase geometry methods.
 
Last edited:

DrLambda

L69: Teeheehee, Member
aa
Feb 18, 2015
458
475
In terms of optimization: You should really nodraw the brush faces that wont be visible after compile.

Also, i heard that you're supposed to use a big triangle under the stairs to fix visleafs/lightmaps etc, at least when it has brushes on both sides. Thinking about it, i'm not 100% if it matters (because the compiler will cull the invisible faces not used, and vis calculation shouldn't be any different) but i've always done it this way:

stairs01.PNG
 

Crowbar

Spiritual preprocessor
aa
Dec 19, 2015
1,455
1,297
About the triangle brush:
upload_2016-8-26_11-59-43.png

Left is n+1 tris, right is 2n tris.


upload_2016-8-26_12-1-0.png

Left is 1 face, right is n faces.

If the stairs are big, you can use the triangle brush as a worldbrush so it cuts vis and participiates in visibility calculations.
 

Kube

Not the correct way to make lasagna
aa
Aug 31, 2014
1,342
1,849
I added an edit to address these issues. Thank you very much!
 

DrLambda

L69: Teeheehee, Member
aa
Feb 18, 2015
458
475
To clarify a little, func_details' non visible faces aren't culled by the compiler, so you will likely get lighting artifacts.

I thought it would cull non-visible faces between func_details (or within a multi-brush func_detail) but not between func_detail and world? Sorry if i described it unclearly.