I'm trying to create a curved path that goes up (or down) with a fixed slope. Moving the points manually by hand is not very accurate and results in small bumps that are actually very noticeable.

I've tried other things like the proportional edit, but that one is a very restrictive, as well as shrinkwrapping the curve on a plane with the slope that I want. That one works ok, but it's also a bit restricting.

In this case I'm trying to make a spiral slide that goes down. It should have the same smooth slope all the way going down. Is there any way to achieve this?? Ideally it shouldn't be restricted to certain views or angles, so that if for any reason the curve needs more steepness, it can be added smoothly, and that it should follow the direction of the curve itself, not just a specific point.enter image description here The slope is all over the place!

enter image description here


1 Answer 1


You could do it easily with a geometry nodes setup.

Add a Geometry Nodes modifier to your curve. Works best if you set you base bezier as 2D type, so there is no interference in Z levels (or optionally ignore it with the geometry nodes tree).

As input use the geometry of the curve itself.

The main goal is to alter the Z position of the curve geometry gradually with a Set Position node.

To progressively increase the points Z as the spline progresses we should use the curve length as driving factor to change the its Z coordinate. We can get its length along the path using the Factor socket of the Curve > Curve Parameter node.

Multiply this Factor by a (regulating) factor using a Utilities > Math node to control how steep or shallow the slope will be.

Make it affect only the Z axis by running the result through the Z socket of a Combine XYZ node.

Connected the resulting vector to the Offset socket of the Set Position node and adjust the steepness from the value of the Math node.

enter image description here

  • $\begingroup$ Perfect!! Thank you so much. I don't know a thing about geometry nodes but I'll look into these knowing now that they can be used for this. Have a great day! $\endgroup$ Commented May 21, 2022 at 22:35
  • $\begingroup$ Hey I've got another question. Is there a way to do it so that you can control the steepness for each section?? For example, the first part has this slope, and then this region becomes a bit flatter, etc. $\endgroup$ Commented May 22, 2022 at 1:08
  • 1
    $\begingroup$ What is a "section" how is it defined? The goal of this technique was uniformity, not individualized control. If you need different steepnesses you need a way to define "sections" and which slope level goes where, and feed that to geometry nodes, which may be possible. It may also lead you back to the first issue you encountered of unevenness $\endgroup$ Commented May 22, 2022 at 2:14
  • $\begingroup$ Alright thanks. What I've been doing is splitting the road into sections that have the same steepness, and then applying this same modifier to them. Sometimes the index order is wrong so then I have to turn it back into a curve and do it again and then it works. You're my hero, thank you so much. $\endgroup$ Commented May 22, 2022 at 18:39
  • $\begingroup$ @CarstenSchluter answer updated with more correct suggestion $\endgroup$ Commented May 23, 2022 at 22:52

You must log in to answer this question.

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