Unrealistic Ball and Paddle Physics

Hello,

The problem:
I’ve been working on my first VR game in Unity that uses a paddle to hit a ball. I seem to be having trouble with the physics however. Both the paddle and ball have Rigidbodies and are Velocity-tracked XR Grabbable. The problem is when I flick my paddle wrist the ball goes flying very far. It goes much farther than when I swing my arm to hit the ball. Of course, when I try the same thing with a real tennis racket and ball, flicking my wrist just isn’t strong enough to strike the ball with enough force to send it flying as far.

What I think is the problem:
I’m assuming this is because Unity calculates the racket’s velocity as velocity_magnitude = distance / time. Since I can flick my wrist holding a controller much faster than a real tennis racket and over a larger distance, the speed of the racket is very large and thus sends the ball flying with unrealistic amounts of force. This is just my interpretation of what’s going on.

Solutions I’ve tried (to no avail):

  • Slowing down the frequency of the Physics Timestep. Increasing the frequency only made the problem worse.
  • Scaling down the velocity of the Physics-tracked paddle. This doesn’t really fix the problem. It just scales the problem down. Flicking still sends the ball much farther than swinging.
  • Increasing drag, both the built-in drag and implementing quadratic drag.
  • Increasing the mass of the ball to be more than the paddle.

Verdict:
All the solutions I’ve tried only scale the problem. Flicking your wrist still generates way more speed relatively compared to swinging your arm.

I am facing the same problem with a Padel game… did you find any solution? Thanks!