I am writing a soccer simulation and I am facing the problem of computing the initial velocity of the ball in order to hit a target. The ball is an actor with physics enabled, ccd, angular damping and a custom AddForce() to handle air drag.
I am thinking of tackling this by precomputing the trajectories for hundreds of initial velocity vectors and storing them in a file. Then I’d simply pick the trajectory that hits closer to the target (some interpolation might happen here).
The question is: how do I go about precomputing the trajectories?
I considered writing my own code to emulate the physics engine, including bounces, ground restitution, ccd, angular damping, variable frame rate randomness. Not really an option.
So my current idea is to throw the ball “for real”, for every initial velocity, and record the resulting trajectories. As that’s gonna take a very long time, I am looking for a way to speed up the computation.
Is it possible to run the engine in fast forward mode? If not, can I do something like that by creating my own UWorld?