vm6502q / OpenRelativity

An open source framework to add the effects of traveling at relativistic speeds to visualizations or games
17 stars 2 forks source link

WIP: Collision debugging #14

Closed WrathfulSpatula closed 5 years ago

WrathfulSpatula commented 5 years ago

The old collision code was semi- ad hoc and not "rocket science" quality. It would be great if we could transform the inputs passed into the physics update loop to get PhysX to return results that we could transform back into relativistic collision outputs.

In the limit of low relativistic effects, "straight" PhysX is already a reasonable approximation to what we want. Literature exists on relativistic collision, but the most readily available and visible resources tend to develop relativistic collision in terms of "scattering angle" parameters. Really, what we want is relativistic impulse mechanics, which does not seem to be as well covered. Based on previous work, my guess is, "impulse" relates collision rapidities. (https://en.wikipedia.org/wiki/Rapidity)

At an idealized point of contact, distance between rigid bodies (at the contact point) is 0, and simultaneity can be established. Much has been said about how rigid body mechanics are a specifically bad or conceptually inadmissible model for relativistic collision. We don't seek to "rewrite the book" on this topic, we just want to do the best we can within Unity's inbuilt physics system.

WrathfulSpatula commented 5 years ago

"Gravity waves" went away! This is probably a good thing! The waves I'm hypothesizing in Schwarzschild are probably "thermal," but, at least, that code is optional. The point here is still to reduce "code debt," first, and it seems to be improving the physics.

This major qualitative change arose in trying to isolate why collisions seemed so observer dependent. They are much less so, now.