Simulating A Window Blind (Vertical movement )

I give up! I am at witz end with this project I’m working on. any help would be greatly appreciated.

In Unreal Engine 5, Is it posible to simulate window blinds movement one at a time
given I have crated a Blueprint with the three componants:
Static mesh for the TopRail which is stationary,
then ten Slat Meshes, Eventually, these slats will be stacked on top of the bottomRail as the BottomRail moves vertically in the Z direction. finally,
I have a lowerRail Mesh which moves vertically but does not rotate like the slats would.
The LowerRail will move vertically and as the location of the LowerRail equalls the slat above it or at index(i) then the new location of the slat would have to move with the LowerRail after setting it’s location 0.02 above the LowerRail.
Of course, When the LowerRail plus the Slat above meet the next slat , then the same thing would happen.
The slat is added to the location of the lowerRail and the slat moving with it. Do i need more explanation.
The Transform of the three static meshes are as follows:
TopRail: ( X =4.0 , Y = 90.0 , Z = 2.65 ).
Slats: ( X = 2.5 , Y = 88 , Z = 0.1 ).
BottomRail: ( X = 2.0, Y = 90.0 , Z = 1.0 ).

My blueprint Name is NewShutterBP

The Location of the TopRail is 75 in the Z direction

Slat 1 is at 70 in the Z direction …
Slat 2 is at 65
Slat 3 is at 60
Slat 4 is at 55
Slat 5 is at 50
Slat 6 is at 45
Slat 7 is at 40
Slat 8 is at 35
Slat 9 is at 30
Slat 10 is at 25

The BottomRail is at 20 in the Z direction

I have created an array to manipulate the meshes in my blueprint.

What specifically is not happening? Also, it’d be helpful to see screenshots of your blueprints to better understand what you are doing in your class.

Agreed with the post above, which part of the process is not working? More information would be needed to understand the scenario.

Additionally, there’s a similar thread to your inquiry, with quite a bit of progress, it would be worthy to check out:


Uploading: my shutter example.mp4…

I’m trying to move one shutter at a time and have them stack to the bottom rail as we move up .

I’ve been trying different things but it’s not going right.

I’m trying to stick with the Array and the For Each Loop. Also I thought I needed a Timeline to drive the motion.

What really needs to happen is the bottom rail should move on the Z axis and when the location of the bottom rail meets the slat above it then add that slat’s location to the bottom rail. kinda like a stacking affect.

Hey @NickCoss49

here is a project with the combined solutions:

UE51_WindowBlind.zip (64.2 KB)

Does this work?

Ok I Think I am going in the right direction. Certaintly, have a bug with one of the slats.

Uploading another video

Here’s a snippet you may find useful, since you’ve mentioned you want the slats to move as if they were stacked:


Tried to replicate some nodes you have around the snippet to make it easier to plug in, but you should get the idea even if some wires are missing. Be careful how you connect the “division” and “>” nodes though, you need the division to return floats so you have to convert it by rightclicking.

Uploading: my shutter example 2.mp4…

I couldn’t get this to do anything even if i replace the special nodes that make it fire. I used a key press and still nothing. I’m not trying to create a Actor on the fly but trying to use a key press or the like to start an animation of the bottom blind rail, which would then move vertically catching each slat and adding to the bottom overall thickness, i guess. I would think this creates the stacking affect of pulling a string on a blind and the blind goes up. In any case, I will figure this out if I have to go to the rudamentry ways of programming, so be it. Sorry, I’m just way too ignorant of Unreal’s Nodes, but learning , none the less.

I can’t see your last video (see screenshot), could you provide screenshots instead?

Hey @NickCoss49

sorry, I did not mention this:

  1. After starting the project, you press play
    image
    You maybe have to click inside the window to gain control
  2. Then you can fly around with W A S D and can control the camera with your mouse
  3. If you are near enough to the window blind you can press F to activate the animation

The method used in my project was created by @ClockworkOcean

1 Like

To throw my hat in the ring:

  • You need to calculate two positions: Rest position and Docked Position. In my case all of them are in the rage zero to 0ne.
  • For position you pick the higher of the two.
  • For the rotation you just add some offset to the docked position. Map the position float - if it is docked the angle is 0 if it is docked + offset and above - the angle is whatever you’ve set.
  • Move the leader up and down and based on it get the docked position.

This is the base BP:

This is the slat transform:

Here are rest position and dock position