トップページgamedev
991コメント361KB

弾をバキュンバキュン撃ち合うネットゲームを作りたい 2fps

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/11/29(火) 22:40:46ID:ErLFF9qS
>>1が、ネット対戦可能なFPSゲームを作っていくスレッドです。

皆様のご意見や、FPS作成に関する疑問質問、おもしろネタ等の
書き込みをお待ちしています。  

●オフィシャルサイト
http://www.geocities.jp/ichizo6/index.html

●過去スレ
http://pc8.2ch.net/test/read.cgi/gamedev/1099119021/

詳細は >>2にて
0478名前は開発中のものです。2006/02/21(火) 19:36:29ID:+/m/IL3v
>>473
>つまり、GPUの負荷をCPUが持つ仕組みって事でFA?

いや全然違うよmy son。

「BSP」とは「Binary Spatial(Space) Partitioning」の略、日本語で言えば二分空間分割で、
これは名前の通り、3D空間の場合は任意の2D平面の+/-(表/裏)で逐次分割して木構造を構築する手法。
ttp://en.wikipedia.org/wiki/Image:Binary_space_partition.png

衝突判定はCPUで行うわけだけど、マップ内全ての三角ポリゴンとの衝突判定を逐一テストしていたのでは時間が掛かるし無駄が多い。
そこでBSPでマップを分割して、必要最低限の三角ポリゴンだけ取り出してきてテストすれば高速化できる。

上の画像で言えば、例えば衝突判定したいオブジェクトが4.のGの領域にあったとしよう。
このとき、何ら空間分割を使用しなければ1.のA、つまりマップ全体の三角ポリゴンと衝突判定する派目になる。
しかしBSPを使えば4.のGに属する三角ポリゴンとだけテストすれば良いわけで、これはもうウッハウッハですな、というお話。
0479名前は開発中のものです。2006/02/21(火) 21:41:05ID:SQSPo6E7
大体分かった気がする。
二分木は分割する程効率が良いっぽいね。

分割の数にもよると思うけど、あらかじめ分割、構築済みのマップを読み込むってのが一般的なやり方かな?
というか動的にやろうと考えてた僕は馬鹿かな?
0480名前は開発中のものです。2006/02/21(火) 22:00:36ID:efFqKY71
読み込み時間>処理時間
ならいいんじゃね?
0481名前は開発中のものです。2006/02/21(火) 22:08:23ID:VnP6d/qc
これすごい
http://symbolcraft.com/graphics/bsp/
0482名前は開発中のものです。2006/02/21(火) 22:20:08ID:SQSPo6E7
これを3Dでやるのか。。。
吐き気が。。。
0483名前は開発中のものです。2006/02/21(火) 22:21:11ID:+/m/IL3v
>>479
>あらかじめ分割、構築済みのマップを読み込むってのが一般的なやり方かな?

厳密に言えば、分割/構築済みのBSPツリーそれ自体がマップファイルに記述されているわけじゃない。
記述されているのはツリー構築に必要な「データ」だけ。

で、初期化時にそのデータに基づいて実際にツリーを構築し、分割したいデータ(頂点やポリゴン)をそのツリーに挿入していく。
(挿入されたデータは末端のリーフで保持される)

>というか動的にやろうと考えてた僕は馬鹿かな?

動的にマップのジオメトリを変位させる場合は、もちろん動的にツリーを構築する必要がある。
これをやっていたのはGeoModで有名なRedFaction。
0484名前は開発中のものです。2006/02/21(火) 22:24:48ID:SQSPo6E7
満へぇーでますた。
0485名前は開発中のものです。2006/02/21(火) 22:27:24ID:ShoB/7jY
何そのregexなID
0486名前は開発中のものです。2006/02/21(火) 22:35:20ID:+/m/IL3v
BSPツリーの構築/追跡を実装するのはそれほど難解じゃない。
単に再帰呼び出し (recursive call) して然るべき処理をすれば良いだけだから。

問題なのは、いかにマップを分割するかということ。
もっとも、大抵のレベルエディタなら自動でやってくれるものが殆どだけど。
0487名前は開発中のものです。2006/02/21(火) 22:43:56ID:SQSPo6E7
ちょっと待て。
技術が俺より高いのが許せん。

お前ら何歳だ!
25を二分木にして上か下か答えろ。
0488名前は開発中のものです。2006/02/21(火) 22:47:11ID:VnP6d/qc
3DGamers
RedFactionのデモがおちてこねえええええええええええええ寝る
0489名前は開発中のものです。2006/02/21(火) 23:04:53ID:efFqKY71
>>481
これはひょっとして、壁の描画順を決定するためのBSPツリーじゃないのか?
0490名前は開発中のものです。2006/02/21(火) 23:08:51ID:VnP6d/qc
BSPのやり方の本が書いてあるムック解説本があったぞ
買わなかったけど
■ このスレッドは過去ログ倉庫に格納されています