2
$\begingroup$

I have gotten fairly decent for a hobbyist with Blender and I am just starting to get into the geometry nodes. I have played with them but not done anything serious because I am rather stuck on what seems like some basic ideas.

I have figured out how to make spirals and with that I wanted to make a spiral staircase. I thought it would be a simple matter of creating a spiral, turning that into points, then instancing a cube shape (the treads) onto the points. But everything I try just goes sideways.

I am not looking for a full "how to" because I really want to figure out most of the image myself. I know there is a lot to a staircase like tapering the treads and putting on a railing and and and and... But I am totally stuck on how to get the treads to lay flat. I think if I can get past that one issue, I can create something of interest on my own at that point.

So what I found is I can create the spiral and attach treads to it. But they don't rotate around the center of the spiral. They all point in same direction.

enter image description here

enter image description here

My first thought was to attach the point rotation to the instance rotation but that just made a massive mess of things.

enter image description here

I fiddled with adding a transform node and tweaking the rotation on my own but it just kept getting worse and worse.

To give an idea of what I am trying to get to I created a bruit force layout by creating one tread by hand in layout mode and just duplicating it a bunch and manually rotating each tread 5 degrees. This is just so you can visualize what I am trying to do.

enter image description here

Any pointers you might have would be greatly valued. Again, I just want enough info to get me going and I think getting the treads to lay flat would do that.

Your input is greatly appreciated.

$\endgroup$

2 Answers 2

2
$\begingroup$

The idea is to create a one step and then instance it on deformed mesh line. I recommend you start with one rectangle where you move the object origin to one of the small faces. The create another object with the following geo-nodes.

enter image description here

The step offset crate the spiral offset for the mesh line and the step rotation rotates each next step for a constant angle. Play around a bit and you will quickly figure out how it works.

enter image description here

$\endgroup$
2
  • 1
    $\begingroup$ Depending on the desired result step offset frame is not needed you can simply move "step object" orgin further out of mesh. $\endgroup$
    – jst kiko
    Commented Apr 12, 2022 at 21:51
  • 2
    $\begingroup$ That is an interesting solution. A bit more complex than what I was hoping for and what I came up with using the "Align Euler to Vertex" node. I answered my own question just about the same time you answered. I do like your concept though. May use that for something else when I need a more complex process. $\endgroup$ Commented Apr 12, 2022 at 21:57
1
$\begingroup$

AH HA!!!!!!

Watching some YouTube videos I stumbled upon someone doing something different but with a similar need.

The trick is to tuck the "Align Euler to Vertex" node in between my "Curve to Points" and my "Instance on Points" on the rotation line. Then play with the axis and pivot until the correct effect happens. For this rough example I had to play with the X, Y, Z of my cube, the number of steps and the radius of the spiral. But you can see the concept works.

I guess I could have deleted the question but maybe someone else will be searching for this info. Hope it is helpful.

enter image description here

enter image description here

$\endgroup$
1
  • $\begingroup$ Keep in mind, my tread spacing is exaggerated to better show the rotation of each step. In this example I didn't offset the origin of the cube (tread) or do anything fancy. I really just wanted to figure out the flat steps following the rotation of the curve. So it is simply with as few nodes as I could manage. $\endgroup$ Commented Apr 12, 2022 at 21:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .