ボールが跳ね回っていて、衝突するたびに速度ベクトルが反発係数によって減少します。
現在、私のボールの CoR は .80 です。そのため、何度もバウンドした後、ボールの速度が途方もなく小さい数値になったため、ボールの回転が「停止」しました。
どの段階で、速度値が単純にゼロと呼ぶのに十分小さいかどうかを確認するのが適切です (そのため、ボールが微小速度に反応して狂ったようにジッタリングすることはありません)。以前にいくつかのフォーラムで、人々がイプシロン定数、いくつかの小さな数を使用してそれに対してチェックすることを読んだことがあります。
イプシロン定数を定義して、次のようにする必要があります。
if Math.abs(velocity.x) < epsilon then velocity.x = 0
ボールの速度と位置を更新するたびに? これは一般的に行われていることですか?x と y の Vector クラス セッターにそれを配置することは合理的でしょうか? または、速度を計算しているときに、ベクトル クラスの外で行う必要があります。
また、速度ベクトルに float を使用している場合、妥当なイプシロン値は何でしょうか?