How to make an Iris opening door

I’m trying to make an iris opening door but I’m running into two issues. If I use Add Local Rotation, the three door pieces will rotate at a crazy speed for the duration of the timeline instead of the 90 Degrees I’ve entered, they also don’t reverse when I hit the button again and instead rotate forward again. And if I use Set Relative Rotation, the door pieces then teleport to another spot and then work normally.

What am I missing?


You’re using Timeline wrong. I don’t know what kind of curve you’re using there, but AddLocalRotation is certainly not what you need. Use A curve that goes from 0 to 1, and Lerp with Closed and Open angles as A and B, and curve value as Alpha.

1 Like

So this sort of thing? What do I plug the lerp into?

Into SetRelativeRotation Yaw.
If you right click Rotator pin on the SetRelativeRotation node, you can split values.
Alternatively you can use Lerp (Rotator).

I’ve done this but it still teleports the three door pieces into that weird spot.

Okay, need some more info:
1: Show the inside of the timeline plz;
2. What are door pieces origins (pivot points)?
3. Are initial ratations of all three pieces (0,0,0)?

Here’s the timeline and where the pivot points are. Their rotations aren’t at 0 and I think that might be something, their zero rotation is the odd points that were in the first pic


Wow this is incredible thank you so much! Is it possible to have the door pieces rotate outwards instead of moving? Or is that not possible

I thought “Iris” meant it was supposed to open like a camera diaphragm? Like this:
iris

1 Like

Yeah that’s pretty much what I was going for

Ahaha that’s very true, my programming is very limited so I’m super thankful for your help! I’ve tried to implement what you sent as best I can but I’m still getting weird moving of the pieces and I really cant figure out why, this is the open position.

Here’s the level setup of my stuff.
The issue is the orientation of each piece is different, so you have to take that into account.
In my case I use SetActorRotation and X axis, but if you’re making a separate door BP, use SetRelativeRotation and a respective local axis.

Ah okay this is working pretty much perfectly! I’m having a slight issue with the blueprint when I rotate it, (it works perfectly facing one direction but not when I rotate it) but I think thanks because I’ve swapped the get actor rotation for get world rotation [EDIT - Got this fixed now by using relative rotation instead]

Well you were a huge help anyway! Thank you for your help!

1 Like