a bit of background as to what is going on:
As part of our game the movement of the PlayerCharacter is done in “bursts” in a given direction…as such we set up the following parameters for designers: Mass, PushAmount, PushTime. Using this, we “push” the PlayerCharater for PushTime seconds, for a force of Mass * PushAmount.
In order to do this, I just take the direction vector (normalized) and multiply if by Mass * PushAmount. I then set this in AddForce for the character in its EventTick. This goes on for the set PushTime (I use a boolean which is enabled / disabled by a timer set for PushTime which EventTick checks to see if it should AddForce that tick).
as debug info, I also output the distance traveled and max velocity over the distance traveled, and I have found what I think is a bug:
Depending on how I launch the game, the distance traveled and the max speed differ. For Example, when I launch the game in PIE, standalone, new Editor Window, I travel less and am slower than if I launched the game as Mobile Preview. Also, I have tested this on different machines; Depending on the machine, the distance traveled and speed varies greatly. This isn’t a matter of 1 or 2 units, but almost 50~100 units at a time.
We are running UE 4.6.1 and this is currently all being done in Blueprints.
I have a hard time believing the PhysX engine is this sloppy…physics engines shouldn’t be this varying…in fact it should be the opposite. Either I have not done something correctly or there is a bug, but I’ve checked all possible parameters I can think of and I can’t see any flags that suggest “ensure PlayerCharacter’s physics calculation is consistent.” Or is there something I have to set in C++ that isn’t exposed in Blueprints?
Any assistance would be greatly appreciated!