Can't move my pawns


I have a set of AI pawns following this blueprint. They are AI controlled pawns that need to move in all 3 dimensions so I can’t use a navmesh. At first I tried set location but to make it not look choppy I would have to do a load more calculations, essentially, that method would be far too resource consuming. I have tried a bunch of these different movement functions. AIMoveTo, simple move to location, move to location. None of these work I assume it has something to do with the controller as I’ve checked the target location and it is different from actor location (also I’m sure that the event is being called, the macro works as well). Either that or I’m using a completely wrong function.

The mobility of the mesh is also set to movable.

I’m fairly certain the reason why none of these other methods work is because all of them need a navmesh to be present.

Without knowing anything about your project, I’m also pretty confident that these extra calculations you’re writing about would not impact performance in any meaningful way. How many pawns do you have and how often do you call the “Calculate” node?

I suppose that could be a solution however it would be difficult. The number of pawns can range from just a few to a few dozen (its meant to be user generated). The calculations are a little more difficult than pathfinding because its a gravity simulation and they also need to be updated up to 10 times every second in order to keep the simulation accurate and smooth. If I were to simply interpolate the difference and make multiple set locations per calculation I would have to introduce 2 different sets of calculations for each pawn all happening simultaneously which would about double the size of the code.

I could do it but it’s a situation I want to avoid.

A couple dozen pawns updated 10 times a second? Again, whithout knowing what else is going on in your project, this does not sound like a problem at all to me. How are you doing your gravity calculations? Is it just a bunch of vector math? That’s super duper fast on practically every platform out there.

I’ll give it a shot but I’d still like some cleaner options if anyone knows how to do that. And yes it is just a lot of vector math.

If you’re using the tick event, you should be able to update relative location on time delta, then it’s just running the delta through your acceleration calc and this shouldn’t be choppy at all. I imagine a motion component on the pawn would get around most of the problems and you already have the math. Then the pawn keeps track of itself, nice and clean