ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

複数の衝突

チュートリアル本で複数のボールで、衝突するときの処理について学ぶ。
基本的にはすべてのボール同士で衝突するときの処理を行うことになる。
ちょっと気になったのは、順番に衝突処理を行っていくので、同時に複数のにぶつかった場合は、先に処理されるボールのほうが優先的に移動が行われることになっていた。
このゲームではほぼありえないようなケースだが、1つのボールが2つのボールに同時に衝突する場合に、どうなるか気になったので、ちょっと考えてみた。
ボールがぶつかった場合はそれぞれが離れる方向に移動するので、ぶつかった2つのボールのうち、1つ目の衝突で離れるので、2つ目のボールは動かないということになりそう。
となると、ビリーヤードのトリックショットのような場合で、2つ並んだボールの真ん中を当てて、2つを同時にポケットに入れるというような動きは出来ないことに。
これを正しく動かすためには複数に当たった場合の速度エネルギーの分割とか考えなくてはいけなさそうで、実装はけっこう大変そうだ。