Move components of actor at same time

Hello everybody,

I am trying to move sphere components at sametime but the result of my blueprint is the movement of last item of the array to the position setted by first element’s location.

Thanks for your help.

Hello ,

From the logic shown in this blueprint, it seems that each component will be moved -1 on the X and Y axis’ from its current location as each loop refers to that component’s location, not the first element. Also, they will appear to be moving at the same time due to how fast this occurs but with how processes work, one has to be done at a time technically but it should be fast enough to seem like they’re all moving at once with such a small number of objects.

Hi , I put the actor on 0,0,0 and I am multiplying the position to -1 on X and Y, so I am trying to do a kind of mirror effect with the center. And it does it with only the last element of the array, and it goes to the mirror position of the first element. Very weird, I can not understand it.

What are the starting relative locations for these sphere/static mesh components?

That:

Blueprint Log (Log) X=160.000 Y=90.000 Z=0.000

Blueprint Log (Log) X=0.000 Y=190.000 Z=0.000

Blueprint Log (Log) X=-160.000 Y=90.000 Z=0.000

Blueprint Log (Log) X=-160.000 Y=-90.000 Z=0.000

Blueprint Log (Log) X=160.000 Y=-90.000 Z=0.000

Blueprint Log (Log) X=0.000 Y=-190.000 Z=0.000

I can observe ‘for each loop’ get components in reverse order. And the result is the translation of the last element (160,90,0) to the mirror position of the first(0,-190,0) so it gets the location of (0,190,0). The other components don’t move.

I found out why this is happening. Move Component To is a timer based function. Despite having the “Over Time” set to 0, if it is called repeatedly by a loop, each call gets overwritten by the next call. This results in the final call being the only one that completes. I’m currently looking into if this is intended functionality but in the meantime, a good workaround would be to use Set Relative Location with your current set up or Add Relative Location and change the vector that you’re multiplying by to -2, -2, 0.

With set relative location I get the final locations i want but the movement transition is the effect I need.

That works:

http://i.imgur.com/g8vhF05.png

That doesn’t:

http://i.imgur.com/GSnytFk.png

Ah I was unaware that you needed these to move over time. I was under the impression that you just wanted them to be mirrored. That may be the best solution for now if you want to have multiple move at the same time, since it seems to set up multiple timers when using multiple nodes.

Yes, the problem is that it is very tricky, you have to set up a graph for a specific number of components. Instead of that, thanks for your help :slight_smile: