I am stumped and confused over Arrays and Curves in Blender

I am trying to model an escalator and am having a hard time figuring out how to make arrays with curves. I am trying to use the arrays to track the stairs to. I need to arrays close together. I can get the first one made and have the objects track the curve. If I try to make the second curve and new objects they don’t track the curve. They get offset. I thought I understood the workflow for alignment, but clearly, I do not.

I have a second question I will need to figure out once I get this one done. I will post a second question here if I cant find any info online. It is how can I set up an object to track two points. The Treads on an escalator are controlled by two rollers each following a separate track. I cant figure out how to set up an object and connect it to follow two independent elements. I tried parenting to one object. A cylinder following the first curve. But how do I follow the second curve?

Sorry for two questions but this one is boiling my brain cells.

1 Like

It’s a common problem in blender and it’s really not very intuitive:

Google Results

You will get better help if you share the .blend file.
This depends on transforms and origin of the objects. So you may need to have scale applied to your objects and perhaps also the origin in geometry.

1 Like

I’m trying to understand your two questions; some images would help. You can easily save screenshots in Blender and upload them here.

For the parenting issue, use the Child Of Object Constraint. You have two Child Of constraints with separate objects and adjust the Influence.

Hi, Mr. Loker and welcome to the community.

I too had a problem with curved arrays in Blender recently. I was making railroad tracks. The two objects I had tracking the curve were the railroad ties and the rails themselves.

What are the two objects trakcing the curve? Why does it have to be a curve: escalators are usually straight?

The stairs, or steps, track in two channels or in some cases a drive chain and then another track channel. The position of the two channels, in other words, the separation of the channels is what causes the Step to rotate underneath the escalator and come into position again at the top or bottom of the escalator depending on direction.

In the attached Step Picture the step has a, upper rear steel Pivot Arm, in my case attached to the drive chain, and the lower front wheel attached to the track that controls where the position of the wheel is and therefore the angle of the wheel as it rounds the corners of the oval loop that drives the stairs.

In the image maxresdefault you can see that there is the guide track controlling the lower wheel. In the upper path as the steps are deployed in proper angle for walking the Track Guide is ver close the the drive chain, raising the profile of the step to be level for your decent or assent. IN the lower part of the frame on the return cycle, you see that the Wheel track is farther away from the chain pulling the step into the channel and reducing the distance needed for the lower part of the escalator.

I want to be able to have the step be constrained by the Chain, and driven forward and have the wheel constrained by the lower path - likely a curve that I will profile with a C shape profile to become the track.

Any thoughts you have would be great. I cant figure out how to have one item constrained by two control points. I was thinking a bone would work but not sure about that either.

1 Like

Just to be clear, this is for animating the escalator, not just for modeling it? In the Step Picture is that one object? Or are there children? Can you take screenshots of the modifier and constraint stacks that you have already or are testing?

The step is just one object. I can send modifier stacks when I get back to my office later this evening or tomorrow morning. The step is parented to an empty the empty is currently clamped to the channel, and the step pivot point is the upper rear axel center. The constraining item is is a bezier curve. I animated 30 frames and manually adjusted each steps rotation and position. So for the current animation it’s just a 39 frame loop. But I need to have a much longer animation of all of the steps through multiple cycles arou d the curve. It would tak emany days to hand animate each step every few frames. So I want to have the rotation of the step controlled by a second curve tied to the wheel.

I can send the blender file to you if that helps.

Best Regards;

Tom Loker

www.loker.com

I dont know if this is accurate enough for you, but I got a basic escalator step animation working using Follow Path constraint with Follow Curve check box. I duplicated the step with ALT D and then made the animation data a Single User. I adjusted the offset keyframes for each step (about 3 to 3.5) then used the timeline to grab the ON/OFF keyframes for Follow Curve and shift them so they look good.

ESCALATOR.blend (930.5 KB)

(removed animated GIF - file too large)

I’ll look in the morning. I’m not at my office. Thanks for working on it. I’ll write you in the morning, I’m in CA. And also send my blend file.

Best Regards;

Tom Loker

www.loker.com

That is close enough, I can simulate the second track from this. I think. I do not understand how this is working. What are the steps to implement. I do not understand how you get the Plane Action, Offset (follow path) etc., created.

I did it all with the Follow Path object constraint. Under Object Constraint Properties > Add (Relationship) Follow Path for a Step Object. Target is the Bezier Curve. Slide the offset until the Step is at the beginning (bottom) of the Escalator curve. Play with the Forward Axis and Up axis until it looks right on the path for where it is.

Then animate the Offset property and Follow Curve property by adding keyframes (right click, insert keyframe or press “I” while over the property). The step is normally rotated horizontally, but when it gets to the top of the escalator, it starts to Follow the Curve (Object will follow the heading and banking of the curve). When it gets back to the beginning, turn off Follow Curve.

Thanks for your help. I was able to figure it out. I still wish I could figure out how to have the step track the two curves. There has to be a way to do this. I am going to have to learn how to use bones in blender. Maybe that will hold promise.

I have one more question. If I duplicate the Step, the animation is not following the curve for the new step, it follows the original step. Do I now have to adjust each step individually?

Yeah, I didn’t solve that problem. Although I don’t do scripting, this probably wouldn’t be a hard script to write.

Pseudocode:

  • Duplicate object
  • Adjust the two Keyframes for Offset by X (like 5 in my example)
  • Move the keyframes for turning on Follow Curve in the timeline by Y

I tried moving the new Step duplicate too (both in edit and object modes), but its position is entirely controlled by the curve, so you have to adjust the offset.

There is also an unnecessary keyframe for following the curve in there. You don’t need an “on” keyframe right before you turn it “off”.

Here is the original Escalator file. I have not had time to make the changes yet.

Its a link to a shared drive. https://1drv.ms/u/s!Ai2phSD7wqbymuxNxowURSuzFZxj8Q

1 Like