fc2ブログ

Javaゲーム制作記

いろいろ作ってます  

多角形(ポリゴン)同士の衝突判定、だいぶ分かって来ました

前にも苦労していた多角形同士の衝突判定が、
やっとなんとなく分かって来ました。
同じように悩んでいる方の手助けになれば、と思っています。

ちなみに、衝突判定にもいくつかの種類があります。

一つは、衝突しているか、それとも衝突していないか
です。

もう一つは、衝突しているか、もし衝突していたらどこで衝突が起こったか
です。

前者はシューティングゲームなどに応用できそうです。
後者はブロック崩しなどに応用できそうです。



・・・・・・。

実はまだあります。
今回説明する部分はこれです。



最後は(多分最後)衝突しているか、もし衝突していたらどこで衝突が起こったか、
どの向きに衝突が起こったか、さらにどれだけ重なっているか(めり込み距離)
です。

やはりこれだけのデータを定格に判定するのは容易なことではありません。

一つ言います。ググっても出てきませんw

円同士とかなりいっぱい出てくるんですが、さすがに多角形同士の
衝突判定は出てきませんでした(実証済みw)。

出てきても高度すぎて手がつけられなかったり・・・。


というわけで、一人Box2Dのソースコードを見ながら解析を進めてまいりました。
結果、いろいろなことがわかりました。
以下、手法です。

えっと、まずふたつの多角形(以下ポリゴン)の最接近距離を見つける必要があります。
要するに一番近づいている距離ですね。



で、この距離と点の求め方なんですが・・・

ああっ!
今度になっちゃいそうです!
すいません・・・O| ̄|_

[ 2009/10/19 15:01 ] 未分類 | Comment(2)
こんばんわ^^
前者は、接触しているかだけを判定すればいいですが、後者は、かなりめんどうくさいですね……


多角形の激突判定は、ググっても出てこないんですか><
大変ですね><

なんか、自分で、新しいどこにも載ってないようなものを開発するって、実験みたいで、すごいですね!

制作、がんばってください!
[ 2009/10/20 00:24 ] [ 編集 ]
Re:こんばんわ^^
そうなんですよ。
もしかしたら(もしかしなくても)物理演算より難しいかも入れません。

>>なんか、自分で、新しいどこにも載ってないようなものを開発するって、実験みたいで、すごいですね!
ありがとうございます!
楽しんでやっております!
さあ、これからもがんばらなくちゃ・・・!
[ 2009/10/20 12:00 ] [ 編集 ]
コメントの投稿




※URL記述の際はttp://としてください


プロフィール

saharan

Author:saharan

Twitter
検索フォーム