|
|
Thread Tools | Rate Thread | Display Modes |
#1
|
|||
|
|||
How to fixing unpredictable physics with manual intervention?
Hello all,
I'm trying to run an experiment in which I need very predictable physical interactions between a bouncing ball and the ground. For example, if the ball is dropped from a known height, the ball should return to that height (no energy should be lost upon collision). This isn't the case if using the physics engine, no matter the bounce/density/hardness settings, energy is lost. This is because Vizard does not give full access to some of the physics sim parameters (CFM). So I must come up with my own solution: * When the ball is about to collide with the ground (on the next frame), turn off physics * Manually simulate ball movement as it hits the ground and reflects. There is no friction, so this is a simple 2 step process. Using pre-bounce position, velocity, and acceleration, I calc the ball's position when it reaches a height of 1 ball radius. Then, I reverse the vertical component of velocity and calculate the ball's new height after reflection, at the start of the next frame (a total of 16.7 ms later at 60 hz). * On the next frame, turn physics back on. I wait a frame to avoid issues with prioritization. Unfortunately, energy is still lost upon a bounce! I've had a second pair of eyes check my equations, and there don't seem to be any mistakes. Any ideas? - gD |
|
|