vm6502q/OpenRelativity

`RelativisticObject` friction mechanics

Closed this issue · 1 comments

We've had linear and angular drag parameters in the RelativisticObject mechanics before, (not currently,) but these lead to a viw setter call every frame. Because optical coordinates (as seen by the player) and speculative "world" coordinates (as seen by a static, stationary observer at infinity) are both tracked and routinely converted between for mechanics, setting viw to a different value involves an expensive but necessary conversion to optical coordinates and back, and we should avoid updating viw at every frame.

Our Rindler demo definitely feels like it's missing friction, though, and it is. The difference between friction and drag, in this case, is the Unity Rigidbody drag is calculated every frame, when not sleeping, whereas friction will initiate only when the RelativisticObject contacts another surface with friction, commonly leading to a "sleeping" state in short time, in which case no viw update will happen.

This has been obviated by the completion of issue #56. (Just use general native Rigidbody mechanical parameters!)