Я работаю над простой маленькой игрой / симулятором, где хочу отскочить от мяча. Я пытаюсь заставить мяч подпрыгивать не совсем реалистично, а скорее "игровой вселенной".
У меня есть эти переменные для работы:
Vector ball_direction; // Direction the ball was moving in prior to impact
Vector ball_bounce_direction; // New direction of the ball computed from the collided face's normal
Vector collide_face_normal; // The normal of the collided face
Vector collide_face_perp; // perpendicular to the normal of the collided face
Vector gravity; // The gravity of the world-- doesn't really factor in since I want to do this operation based on the collision normal
Так что в основном то, что я хочу сделать это:
умножить ball_bounce_direction на .6 в направлении collide_face_normal. умножьте ball_bounce_direction на 1.0 в направлении collide_face_perp.
Итак, прыгающий шар на плоской поверхности, я хочу, чтобы отскоки уменьшались, в то время как он полностью поддерживает свою боковую скорость.
Может кто-то сказать мне, что мне нужно сделать для ball_bounce_direction, чтобы добиться этого?