前の質問から続きます。ボールがヒットしたサーフェスから非常にリアルに跳ね返っています。今、私はヒットの摩擦からそれを回転させたいです。
これを表示するのは十分簡単です:ティックごとに角速度でボールを回転させ、レンダリング時に同じ回転を適用します。
ボールが壁に当たったとき、回転速度が影響を受けることを知っています...
- 表面を打つときのボールの初期速度
- ボールと表面の摩擦係数(物理定数)
- 入射角(ボールの入射速度ベクトルと表面の法線の間の角度)。
入射角は、ボールの衝撃速度と射出速度のベクトルのドット積で近似されます。(1は高スピン、-1はスピンなし、その他はすべてその間にあることを意味します)
上記のすべてを乗算し、それらが0〜1の範囲に変換され、最大回転速度が乗算されることを確認すると、ボールは予想どおり回転速度で応答するように見えました。1つを除いて、(正の値のため)常に時計回りに回転します。
これは良い方法ですか?もっと簡単な方法を考えられますか?
この方法で問題がなければ、何が欠けていますか?ボールが反時計回りに回転するタイミングを知るにはどうすればよいですか?