C++でゲームのSTGのようなゲームを作成しています。
ショットの当たり判定は全て矩形で行っていますが、
レーザーのような細長いショットの場合、
どうしても斜め方向の判定が必要になってきます。
単純な回転しない矩形ならば、
それぞれの矩形の頂点座標の距離を比較するだけでいいので、
4回の比較で判定することができるのですが、
回転が加わってしまうとどうしても複雑になってしまい、
どういう風にとればいいのか解らずに困っています。
例えば、以下のような場合など、
回転を考慮しない判定だと衝突と判定されます。
┌――┐
| |
| |
/\└――┘
/ \
\ /
\/
解説サイト等を拝見しましたが、
矩形の回転の加わった当たり判定まで解説しているサイトが見当たらず、
ベクトルを使えば出来るという情報は得たものの
その方法が解らずに困っています。
シーンによっては多くのショットが生成されるので
付加をするならば、できる限り高速な処理で、判定をしたいのですけども、
どなたがその方法をご存じないでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
機体の中心点と弾の中心点の距離を求め「一定の距離以下は当たり」とすると、形状や角度などはすべて無視できます。
また、それぞれの物体に「当たる距離」を設定して「当たる距離の和を採用する」のも手です。
例:
物体Aの衝突距離4
物体Bの衝突距離3
物体Cの衝突距離8
AとBの距離が8の時⇒当たってない(衝突距離4+3=7、7<8)
AとCの距離が8の時⇒当たっている(衝突距離4+8=12、12>8)
BとCの距離が8の時⇒当たっている(衝突距離3+8=11、11>8)
こうすると衝突距離0同士の物体は「ぴったり同じ座標」になった場合にのみ衝突します。
この処理の前処理として「Xのみの距離」「Yのみの距離」を判定し、明らかに離れている(個々に設定してある衝突距離より遠い)場合は中心点同士の距離を計算しないで「当たってない」と判断します。
また、レーザーのように長い物は「中心点を並べて複数用意」し、串団子状の衝突範囲を設定すると良いでしょう。
No.1
- 回答日時:
正確に判定したいなら、
図形の方程式を連立するなどして、内積を求めたりするみたいですけど、
高速な処理を希望できしたら、
単純に、
弾の中心が機体を通過していたら、などと言う判定にしてみてはいかがでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 建築士 建築士製図試験での縦距離の数値の書き方を教えて下さい 3 2023/07/16 11:36
- 物理学 角速度ベクトルにつきまして 3 2022/08/09 15:44
- 工学 制御工学の問題です。 5 2022/12/29 18:35
- 離婚・親族 離婚調停の調停員の立場に関しての質問 3 2022/05/21 10:58
- 転職 ハローワークの求人はあまり良い場所がないのでしょうか? 6 2023/07/03 09:10
- 訴訟・裁判 調停に関しての一般的な質問 6 2022/05/21 10:53
- 物理学 R直列回路の波形をオシロスコープで測定した時、写真の矩形波のような波が観測されるますがなぜこのような 2 2022/09/23 23:31
- 高校受験 1週間でできる勉強方法教えてください。高校受験 中3 明後日模試を受けます。 私は8月に受けたw模擬 3 2022/12/03 09:29
- 転職 45歳の男です。今在職しながら合間を縫って4回目の転職活動をしていますが、既に15社以上の書類選考、 9 2023/01/21 16:51
- 訴訟・裁判 ①こうゆう裁判↓は、本人訴訟でしてるのですか。 ②なんでニュースになるのですか。本人がマスコミにタレ 3 2023/07/11 12:05
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
3次元空間上の2つの座標から...
-
VBで、開いているExcelシートの...
-
最小二乗平面
-
交差する2線分の交点座標の求め方
-
エクセルで回転する座標の出し方
-
ClientToScreen
-
Tiny Basicでのグラフィック。。
-
ダイアログ内コントロールの位...
-
回転する四角や円で当たり判定...
-
Fortranで直交座標から極座標変...
-
エクセルの座標表示について
-
VB.net フォームをなめらかに移...
-
座標を結んだ線分の交差
-
ワード上Shapeの位置情報を統一...
-
VBA 図形○を入れる座標の取り方
-
ExcelVBA上で特定の座標への画...
-
c言語でキーボードから2点の座...
-
差分法による数値解析でヤコビ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マインクラフト(pc版)で座標...
-
グラフの交点の求め方(Excel)
-
エクセルで回転する座標の出し方
-
閉図形の座標の配列が右回りか...
-
3次元空間上の2つの座標から...
-
エクセルである点からの距離で...
-
求積表の計算方法
-
ダイアログ内コントロールの位...
-
空間上の二点を結ぶ直線上に任...
-
始点、終点の二つの座標と半径...
-
図形が重なりあっているかどうか
-
ワード上Shapeの位置情報を統一...
-
以下のプログラムは重心を求め...
-
シーケンサー(PLC?)で制...
-
ピクチャボックスの座標取得
-
多角形の内部かどうか判定する方法
-
Excel VBA で自在に図形を変化...
-
選択範囲の座標値の抽出
-
座標を持った平面範囲に座標を...
-
VBで、開いているExcelシートの...
おすすめ情報