Large enough momentum will still position the player
beyond the loop radius initially. This is intentional so
that there is no jerk when entering the loop. Without
a more sophisticated algorithm to revolve asymmetrically,
this is the best I can do. The player is guaranteed to
exit at the correct position, though.
- Players moving into a gate with a lot of momentum would
offset the origin point from its intended position
- Find intersection of player movement and gate
- Correct origin point between loop entry and exit by
interpolating the difference between player position on
entry and intersection point