Dynamic Boxes Collisions Overlap

Hi, I need your help with Box collision creation at Construct script…

Basically, Boxes Collisions are created on construct script for each Staticmesh called “Rock” (contained in the “RocksHaut” array) and then I offset it to -x and put it in a “Boxes” array.

Consctruct Script :

Blueprint Viewport :

Then, I bind all the boxes on the same event and that’s where the problem is. This event is a basic movement on the Z axis. Here, each box move a different Staticmesh “Rock”. Screen :

The problem is that the Timeline is executed by all Collision Boxes and therefore does not have time to finish the animation of the previous Rock… I would like to have a different Timeline for each Box Collision. Or to be able to use a Vinterp (which will perform the same movement).

How could I play different timelines for each Box Collision (boxes are created dynamically)? Is there a way to create instancied Timeline that are copies of my main timeline? Then is there a way to create events dynamically?

I’m probably wrong in how to proceed but I can not find a solution to this.
Hope you can help me!

.

One way would be to make the rocks come from an actor blueprint that has the timeline in its code. That way each rock runs its own timeline

Hey, my last system was using child actor, like you said and this worked perfectly, problem is performance, my map is generated procedurally and using child actors make my map contain 5000+ actors… Against only 200 with all compacted in 1 BP. I made some test and the performance impact is real

That is a lot of timelines for sure.

How about this: You can have multiple tracks on one timeline, and each track controls a different rock. HOw well does that perform?

Hmm, this can be a solution, is it possible to add tracks at Runtime?

I think i will try to spawn a new actor holding only the timeline when i need it to play and destroy this actor after animation, but maybe there is a better way to handle this?

I dont think you can add tracks at runtime but your idea might work. if you use one timeline to control multiple actors at different times then you have to offset the keyframes of each track from the other to create bascually a hard coded delay between them which might not be what you want