【Xbox360】 XNA Game Studio その3 【C#】at GAMEDEV【Xbox360】 XNA Game Studio その3 【C#】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト536:名前は開発中のものです。 07/09/06 20:22:16 J/sgTb17 >>531 お前みたいな元々やる気ない奴はこなくていいよ 537:名前は開発中のものです。 07/09/06 20:52:01 anKWK6qa いや>>531が>>535の質問に簡単に答えてくれるはず だから俺は答えません 538:名前は開発中のものです。 07/09/06 23:08:00 CmDN/xoH >>535 ばうんでぃんぐなやつで衝突判定したことないんだが 三角形(無限平面じゃない)とRAY(無限直線じゃない)の算出は そんなムズくないぞ http://www.interq.or.jp/black/minami-m/ のサンプル17とかがわかりやすいかもしれん 539:525 07/09/07 00:01:37 1J/iGdr2 >>535 駄目な531にかわってこたえませう。 Rayっていっても単なる束縛ベクトルだから、当然有限直線。 Rayを飛ばして交差判定する場合、基本的に全てのポリゴンと交差判定する必要があります。 この場合は、「任意の位置から飛ばしたRayが、ボックスを構成するポリゴン全て」と交差するのかを調べる必要があります。 ちょっと考えてみればわかるけど、丁寧にやれば12回、最適化(同じ面を構成する三角ポリゴンが同一平面状にあるとして) しても6回の交差判定が必要になります。プロの現場でもRayを使う機会は、、、そんなにないよ。 一番簡単なのは、バウンティングスフィア(境界球)を使う方法。必要なのは、半径だけ。 この場合、三角形(直線)と、ボックスを使っていたオブジェクトを包む大きさの境界球を作って、 半径をそれぞれ、R1、R2、中点間の距離(二つの物体の中心座標の距離)をDとすると、 衝突判定は次の式だけで表現できます。 D > R1 +R2 この式を満たすなら接触していない。満たさないなら接触しているという判定。 この方法はデッドスペースも大きくなるけどいろいろ応用が利くし、なにより高速。 二次元でも円を使えば普通に衝突判定をするより多分早い。 3Dに手を出すならある程度数学を頭に入れておいた方がいいよ。 他人のサンプルとか、写したコードだけではいつか絶対行き詰る。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch