Ich versuche ein einfaches 3D-Spiel zu erstellen und muss den Spieler innerhalb der Grenzen der Spielwelt einschränken. Wenn der Spieler die Seiten der Welt trifft, möchte ich, dass das Schiff des Spielers leicht abprallt.
Tatsächlich versuche ich, den Spieler in einer Kiste zu fangen und ihn daran zu hindern, durch die Seiten zu entkommen ...
Ich habe es geschafft, die Grenzen der Spielwelt als eine Sammlung von Flugzeugen mit Normalen und Entfernungen vom Ursprung zu definieren. Der Spieler hat eine sphärische Begrenzungskugel und durch das Folgen dieser Website http://www.gamasutra.com/view/feature/3383/simple_intersection_tests_for_games.php konnte ich Kollisionen erkennen.
Ich kann jetzt nicht genau herausfinden, was zu tun ist, wenn eine Kollision erkannt wird. Das Beste, was ich schaffen kann, ist, dass der Spieler im Flugzeug stecken bleibt, direkt durch das Flugzeug fliegt oder wiederholt mit einer sehr schnellen Geschwindigkeit davon abprallt.
Der gesunde Menschenverstand sagt mir, dass ich den vom Flugzeug reflektierten Winkel unter Verwendung seiner Normalen berechnen und auf die Geschwindigkeit des Spielers anwenden muss. Ich denke jedoch, ich muss zuerst sehen, ob der Spieler das Flugzeug durchlaufen hat, was das Bit ist, das ich nicht kann trainieren.