Estoy tratando de crear un juego 3D simple y necesito restringir al jugador dentro de los límites del mundo del juego. Cuando el jugador llega a los lados del mundo, quiero que la nave del jugador rebote ligeramente.
En efecto, estoy tratando de atrapar al jugador dentro de una caja y evitar que escapen por los lados ...
He logrado definir los límites del mundo del juego como una colección de aviones, con normales y distancias desde el origen. El jugador tiene una esfera esférica delimitadora y, siguiendo este sitio web, http://www.gamasutra.com/view/feature/3383/simple_intersection_tests_for_games.php , he logrado detectar colisiones.
Ahora no puedo entender qué hacer cuando se detecta una colisión. Lo mejor que puedo manejar es que el jugador se quede atascado en el avión, lo atraviese o salte repetidamente a un ritmo realmente rápido.
El sentido común me dice que necesito calcular el ángulo reflejado del avión, usando su normalidad y aplicarlo a la velocidad del jugador, sin embargo, creo que primero necesito ver si el jugador ha pasado por el avión, que es el bit que no puedo rutina de ejercicio.