【Unity】 ルーレットの確定判定の構想
球がルーレットのポケットに入ったかどうかの確定判定について考えてみます。
確定条件と問題
・球がルーレットのポケットの位置にある
中心からの距離がポケットより内側でも外側でもない位置にある
つまりボールの中心位置が
(ポケットの内側< 球 <ポケットの外側)
である。今回はルーレットの中心からの相対距離で表す。
・球が静止している
球が動いている状態はまだ確定していない
つまり1秒くらい相対位置が変わっていない状態
今回はルーレット自体が回っているためルーレットの回転速度と同じ速度で回転している状態を考えたい。
ですが、もっと良い方法を見つけました。
中心からの距離が変化しない状態というのは静止と言っても良いです。
総合すると
球とルーレットの中心座標を相対的に取得。
その距離を r とすると、
(ポケットの内側 < r < ポケットの外側) ∧ ( r が一定時間同じ)
の時にポケットに入ったことを判定する。
そのポケットの位置は、角度を求めて判定すればいい←ここもうちょっと詰めないと
Unityでは相対距離を出す方法が簡単に出来るためオブジェクト同士の判定がとても楽です。絶対座標しかない場合、極座標系で表さなければならないです。
その辺はUnity万々歳ですね。
参考サイト