Timeline Issues - Chest lids behaving weirdly

Currently I’m scripting out many things via Blueprints and all seems to be working fine, that is until I’ve started working with timelines. So far I’m able to create a door that slides open and that works perfectly, but then came the chest.

With typical chests they open up by rotating away from the player. What I want to do is to have the lid split in two (already separate in the model), slide sideways, rotate once they reach a certain point, then once that’s done drop down till they touch the floor. Well this kind of works but I get some very strange issues. If I remove the drop then the slide and rotate works perfectly once triggered, however as soon as I add the drop then it completely skips the slide and goes straight to the start of the drop position, does the rotate, then drop. On reverse it goes as normal but then it doesn’t slide back at all. Could this be because I’m using two vectors in succession? I have added both the graph and the timeline below as well as the video showing the issue.

Is there a way I can get it so that I can have the lid slide, rotate, and then drop? I did try adding a 1.25s delay but that didn’t work and I still got the same result.

Would it be easier just to use a Manatee for this.

I did use Matinee before but it didn’t do what I needed it to do so I decided to use a timeline instead. Of which after a few more hours tinkering and such I have finally found out how to do it. As it executes everything in a line it was taking the relative location of the start of the drop object at all times including when it was in reverse (the process is essentially in the same order) so I had to block it from executing.

Initially I tried using a timer and that didn’t work at all, then it was a delay and also that didn’t seem to do anything other than make stuttering animations on the drop - it still didn’t fix the relative location problem though. So I thought that I had to query to see if the two locations matched, and if they didn’t then don’t execute anything. So after the right lid rotation execution I put in a branch, if it was false then do nothing but if it was true then continue. As the right and left side are doing the exact same thing at the same time then I only need to check one of the lids to see if they’re in their correct position.

For this I took the Left Lid and queried its relative location, I had to break the location into a vector as I only want to know the parent’s X axis. I then check the Slide Left Lid vector position (end position of the slide) and if they match then set the Branch to true and then execute the rest of the animation. Of course there needs to be a Ticker otherwise it doesn’t constantly check the Branch for its condition.

I’ve fully tidied up the Blueprint now so it’s easier to read though for those that are wondering how I managed it then this is the final graph:

Here is the idea i followed : use a vector for x and z and a float for rot. rot keys are 1.0 / 2.1 move keys are x : 0.0 1.400 z : 2.0 3.400

Edit : timeline is set autoplay loop. You’ll have to set values of keys if max z doesn’t fit max x and rot angle too i suppose.

facepalms to self I’m going to try that a little later tonight. I used two vector’s before but couldn’t get what I want but this looks perfect! I can’t believe I didn’t think about using vectors in this fashion. I think you’ve just made things 10x easier for me. :smiley: