Well, It’s funny to go back to this topic 1,5 year later, but I guess I’ve figured how to do the thing, after all. Indeed you don’t actually need the path, any 2D curve would work, you just have to figure out the shape of the given flight of staircase. And it’s vertical property (steepness) can be governed by an Empty used for Object Offset in Array Modifier. Not exactly what I needed but at least it’s a working approach.
So the workflow is following:
- Add/model a staircase object (a single stair).
- Add a curve/Bezier circle, or whatever. Make sure it’s 2D.
- Make sure pivots/centers of a single stair and a curve occupy the same location.
- Make sure you have applied the scale and rotation for both.
- Add Empty to the same position where two other objects have their centers; apply scale and rotation too.
- Set modifiers for the staircase object: Array first, Relative offset X1.000 or less, if you need some overlapping; Y:0.000, Z:0,000. The goes Curve, using - yes, your added curve - for deformations. Deformation axis is X.
- Check the Object offset option and use Empty as an offsetting object.
- There ya go: if all those ‘rotation and scale’ applied okay, you have staircases running along the curve, while their relative offset against each other by Z axis is governed by moving Empty vertically.
- Moving Empty along X axis increases the distance between stairs.
- Moving Empty along Y axis adds some tapering which can be very useful.
I guess Empty can be parented to another curve as well, but it’s a different story.