だいたい完成?衝突判定と法線

Demo
このデモは、ASDWキーで飛行機を動かすことができます。
Zキーで玉を発射することができます。
玉は画面左上にある茶色の三角形に当たると、当たった面の法線方向へ飛んでいきます。

ようやくそれっぽくなってきました。
今回は、Hit判定プログラムをバージョンアップしました。
どうバージョンアップしたのかというと、以前の衝突判定は衝突時に当たったのか当たっていなかったのかだけを返していましたが、衝突時に衝突した所から一番近くにあるベクトル成分を返すようになりました。
なので、その返されたベクトル成分から法線を作りそちらの方向へ向きを変える、というような動きになりました。
これで、複雑な形のものに衝突してもコンピュータが自動で計算してくれるようになりました。

ただ、これは仕方がない事なんですが、移動距離の計算方法が時間×速度なので、ラグなんかで時間が大幅に経過してしますと、やはり、オブジェクトをすり抜けてしまいます。
また、速度が遅い場合にラグが発生すると、オブジェクト同士が内側に入ってしまい、ぶつかり続けることもあるので、衝突時は定数分法線方向に移動してから、元の速度に戻した方がいいのかもしれません。
Category: プログラム ゲーム作成

コメント

コメントの投稿

トラックバック