トップページ > ゲ製作技術 > 2011年07月21日 > aFVdxxKm

書き込み順位&時間帯一覧

7 位/164 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000100110001004



使用した名前一覧書き込んだスレッド一覧
名前は開発中のものです。
DXライブラリ 総合スレッド その9

書き込みレス一覧

DXライブラリ 総合スレッド その9
128 :名前は開発中のものです。[sage]:2011/07/21(木) 13:26:00.60 ID:aFVdxxKm
>>124
すこし、外れてるかもしれんが
その言い方だと「ゲームにクイックソートなどいらぬ、バブルソートで十分だ」
って感じに聞き取れるぞ。

早く、正確な処理にはそれなりに面倒な処理が必要なんだよ
速さだけを追求するなら、短冊で判定すればいい、
距離を正確にだして、判定したいというなら、円での判定もある
より正確に、回転した長方形等を判定し、ある程度の速さを
全ての物体との当たり判定をしなくてもよい方法

当たり判定の質、量に応じて処理は選んで使うものだよ
例えば、画面上ある全ての弾が互いに干渉する弾幕ゲームなんてものを考えると
弾の数を制限するか、より早いロジックを考えるかって話になる
弾幕ゲームで100個以下の弾とか、2^nオーダー処理でやるほうが馬鹿だろ
DXライブラリ 総合スレッド その9
138 :名前は開発中のものです。[sage]:2011/07/21(木) 16:24:48.14 ID:aFVdxxKm
>>129
手間がかかる分、利点はあるよ
敵の撃った弾が、自機にしか当たらないような状況ならあまり意味がないけどね
全部が全部に当たるなら、nLog2nぐらいに抑えることはできる。
n^2で計算するより、より多くの当たり判定を16msで可能になるわけだ。

ただ、イニシャルコストというべきものは、コードの煩雑さだけでなく
準備するデータにも多くかかるので、処理の対象が少ないときに
逆転することも当然ある。

まぁ、使うとするなら、弾幕シューティングとかではなくて
リアルタイム物理演算とかになるわけだが
画面の外を含めて、設定したフィールドに千数百のオブジェクトがあって
互いに干渉するような場面を想定するなら非常に有効な手段になる。

逆に画面に数千の弾があっても主人公にしか当たらないというなら
導入する意味はまったくない。
DXライブラリ 総合スレッド その9
144 :名前は開発中のものです。[sage]:2011/07/21(木) 17:39:25.89 ID:aFVdxxKm
>>139
1,000対1,000だと1,000,000回の判定が必要だよ
俺の環境だと
if (a < g & c > e & b < h & d > f)
{
// 何もしない
}
っていう処理を1,000,000回に平均6.1msかかるのだが
n~2オーダーの処理を馬鹿にしすぎてないか?
a += 1;
って処理でも1,000,000回だと平均3.5ms必要だ。
平均値なのはCPUの状態で1ms以下のときもあるから
DXライブラリ 総合スレッド その9
188 :名前は開発中のものです。[sage]:2011/07/21(木) 21:13:40.19 ID:aFVdxxKm
>>147
空間分割を取り入れてる時点で趣旨が変わってるよ
空間分割が総当りと比較して面倒じゃないとはいわんよな
面倒な方法を取り入れる利点があるじゃないか?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。