[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/10 00:13 / Filesize : 196 KB / Number-of Response : 828
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Xbox360】 XNA Game Studio その3 【C#】



539 名前:525 mailto:sage [2007/09/07(金) 00:01:37 ID:1J/iGdr2]
>>535
駄目な531にかわってこたえませう。
Rayっていっても単なる束縛ベクトルだから、当然有限直線。
Rayを飛ばして交差判定する場合、基本的に全てのポリゴンと交差判定する必要があります。
この場合は、「任意の位置から飛ばしたRayが、ボックスを構成するポリゴン全て」と交差するのかを調べる必要があります。
ちょっと考えてみればわかるけど、丁寧にやれば12回、最適化(同じ面を構成する三角ポリゴンが同一平面状にあるとして)
しても6回の交差判定が必要になります。プロの現場でもRayを使う機会は、、、そんなにないよ。
一番簡単なのは、バウンティングスフィア(境界球)を使う方法。必要なのは、半径だけ。
この場合、三角形(直線)と、ボックスを使っていたオブジェクトを包む大きさの境界球を作って、
半径をそれぞれ、R1、R2、中点間の距離(二つの物体の中心座標の距離)をDとすると、
衝突判定は次の式だけで表現できます。
D > R1 +R2
この式を満たすなら接触していない。満たさないなら接触しているという判定。
この方法はデッドスペースも大きくなるけどいろいろ応用が利くし、なにより高速。
二次元でも円を使えば普通に衝突判定をするより多分早い。

3Dに手を出すならある程度数学を頭に入れておいた方がいいよ。
他人のサンプルとか、写したコードだけではいつか絶対行き詰る。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<196KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef