Procedural staircase (but game optimized) dilemma


I’ve been recently looking into addons responsible for creating basic, low poly and game optimized staircases. Unfortunately, all I tried so far (even paid ones) was somewhat clunky, heavy poly and overall more complicated to use than it needs to be for my taste.

I’m struggling to create a following demonstration:

A) Let’s say I have a curve (blue) for a simple staircase that should fill in space of the black spacing

B) The idea is that the curve will create a simple step (purple), if curve will have resolution on 1 only.

C) If curve’s resolution will be 2, every second point on the curve will create another, individual step.

D) …was a bit pointless to paint with C explanation… Anyway, sides are not really required.

E) Stairs should have somewhat adjustable size by the curve itself (Alt+S or geonode parameter)

F) And the whole area of steps should expand and deform accordingly to the curvature’s direction (blue)

G) Optionally, some sides could be created. But this doesn’t really bother me at this point. I’m all about simples possible staircase I can make, without instancing stretched out cubes etc.



Here’s what I’ve got so far (not much, really).

custom_stair_node.blend (1.0 MB)

Here’s an important feature to me and that is that, for example with ArchMesh and similar addons I’ve seen, anything that works with curves doesn’t really takes into an account the curve’s elevation. The elevation of staircase is done with expanding values, not the curve editing. There’s an example of this being done the way I’m looking for:

Here might be possibly another inspiration to pull this off…

As usual, I’ll sincerely appreciate any advice on this, thank you!

Here is stairs example, hope this helps

stairs.blend (1.1 MB)


Yes, this is very much what I was looking for! Thank you!

Do you think you could implement UV mapping attribute as well?



Is there as possibility to delete faces facing to sides and below/behind?


1 Like

You can try this node setup. The getting UVs like that it’s pretty complicated probably better just use UV Unwrap node for that

stairs.blend (1.2 MB)

I think this will do just fine for what I wanted.

I see certain limitations, but that’s by the nature of this idea of mine anyway.

Again, I appreciate your help with this!

1 Like