Timeline works only once For Animate actor Touch Over Events?

Hello.

I have grid of actors.

I am trying to scale them up from 1 to 1.2 (scaling factor) on Touch Enter Event.

But it seems like the animation works only once. Then rest of them directly get scaled up without animation.

Now you might say use “play from start execution” It work but you have to wait for animation to complete.
If you move finger really fast then they end up partially scaled. Means I have to wait for animation to complete before moving my finger to next actor.

They only gets partially scaled because, I start moving my finger to other actor and that one gets triggered and the previous one forgets about completing his animation.

Also setting it to play from start reruns the animation for already scaled actor. That’s why I am trying to use Just play.

I tried storing the meshes and using for each loop and scale them up but it doesn’t work

It feels in Timeline once value gets to 1.2 from 1, then it never goes back to 1 for new actor. It returns directly 1.2. Still not sure about it.

But this is not in the actor, is it? Each should have its own TL so it can play it individually / simultaneously.

Is this what we’re after here:

Image from Gyazo

Or do you need it to work many static meshes but only 1 TL - also doable but a bit more involved as you need to keep track of an array of offsets.

Ah, I’m with you.

The problem is, you can’t use one timeline to control more than one item. You can’t start it for item 2, while it’s still processing item 1.

The way around is, make a BP actor that contains a custom event which takes a mesh as a parameter. All this custom event does is scale the actor, and then the BP destroys itself.

In effect, you’re spawning timelines.

Do you get it?

Can you please share its node diagram ?

I sort of understood it. I think it won’t apply in my case. As grid generated every time through a function on Begin Play. So referencing its element before generating would be tricky for me to understand. As I started unreal one and half month ago. I will still try to do it and let you know.

Let me explain it more clear.

The one you showed is correct. thats working.

Suppose I have actor A and Actor B

I touch to actor A (Gets scaled UP) and move finger over to actor B (B gets scaled up and A scaled down by Touch Leave Event.)

Now I move my back again from actor B to Actor A. This time it doesn’t animate. It directly jumps from scale 1 to 1.2.

Somehow it remembers my actors. So one actor will gets animated only once.

Then I used reverse node. It kinda work but seems unatural,buggy

and gives error

I created Seperate timeline for Touch leave Scaling down. And used play from start seems working now. Its good enough. But it glitters for fast finger movement. I guess this much is enough. I will just set animation time very low. So it will be noticeable.