[過去ログ] DXライブラリ 総合スレッド その9 (1001レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
128(1): 名前は開発中のものです。 [sage] 2011/07/21(木) 13:26:00.60 ID:aFVdxxKm(1/4) AAS
>>124
すこし、外れてるかもしれんが
その言い方だと「ゲームにクイックソートなどいらぬ、バブルソートで十分だ」
って感じに聞き取れるぞ。
早く、正確な処理にはそれなりに面倒な処理が必要なんだよ
速さだけを追求するなら、短冊で判定すればいい、
距離を正確にだして、判定したいというなら、円での判定もある
より正確に、回転した長方形等を判定し、ある程度の速さを
全ての物体との当たり判定をしなくてもよい方法
当たり判定の質、量に応じて処理は選んで使うものだよ
例えば、画面上ある全ての弾が互いに干渉する弾幕ゲームなんてものを考えると
弾の数を制限するか、より早いロジックを考えるかって話になる
弾幕ゲームで100個以下の弾とか、2^nオーダー処理でやるほうが馬鹿だろ
138(1): 名前は開発中のものです。 [sage] 2011/07/21(木) 16:24:48.14 ID:aFVdxxKm(2/4) AAS
>>129
手間がかかる分、利点はあるよ
敵の撃った弾が、自機にしか当たらないような状況ならあまり意味がないけどね
全部が全部に当たるなら、nLog2nぐらいに抑えることはできる。
n^2で計算するより、より多くの当たり判定を16msで可能になるわけだ。
ただ、イニシャルコストというべきものは、コードの煩雑さだけでなく
準備するデータにも多くかかるので、処理の対象が少ないときに
逆転することも当然ある。
まぁ、使うとするなら、弾幕シューティングとかではなくて
リアルタイム物理演算とかになるわけだが
画面の外を含めて、設定したフィールドに千数百のオブジェクトがあって
互いに干渉するような場面を想定するなら非常に有効な手段になる。
逆に画面に数千の弾があっても主人公にしか当たらないというなら
導入する意味はまったくない。
144(1): 名前は開発中のものです。 [sage] 2011/07/21(木) 17:39:25.89 ID:aFVdxxKm(3/4) AAS
>>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以下のときもあるから
188: 名前は開発中のものです。 [sage] 2011/07/21(木) 21:13:40.19 ID:aFVdxxKm(4/4) AAS
>>147
空間分割を取り入れてる時点で趣旨が変わってるよ
空間分割が総当りと比較して面倒じゃないとはいわんよな
面倒な方法を取り入れる利点があるじゃないか?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s