シンプルな3Dゲームを作成しようとしています。ゲームの世界の制限内でプレーヤーを制限する必要があります。プレイヤーが世界の側面にぶつかったとき、プレイヤーの船を少し跳ね返らせたいです。
事実、私はプレイヤーをボックス内に閉じ込め、側面から逃げるのを止めようとしています...
ゲームワールドの限界を、法線と原点からの距離を持つ平面のコレクションとして定義できました。プレーヤーには球形の境界球があり、このウェブサイトhttp://www.gamasutra.com/view/feature/3383/simple_intersection_tests_for_games.phpから衝突を検出することができました。
衝突が検出されたときにどうすればよいのか、私はまったく理解できません。私が管理できる最高の方法は、プレイヤーが飛行機に詰まっている、まっすぐ進む、または非常に速い速度で繰り返し跳ね返ることです。
常識では、法線を使用して平面からの反射角度を計算し、それをプレーヤーの速度に適用する必要があると言われていますが、まず、プレーヤーが平面を通過したかどうかを確認する必要があります。いい結果になる。