
3DのFPS,TPS,レイルシューターなどのゲームを遊んでいると、射撃対象のオブジェクトの実際の見た目と被弾判定範囲とのギャップがほとんど、というより全く無いように思えるのですが、
そのような精密で、かつ高速な当たり判定はどのように実現されているのでしょうか。
オブジェクトのモデルと全く同じ衝突判定用モデルを用いれば可能でしょうが、何千というポリゴンから成る最近のゲームキャラクターに対しては現実的な方法では無いと思います。
可能であればざっくりとした解説をお願いします。
補足: 実際の作品例を以下に挙げます。
HALOシリーズ,GOWシリーズ,バイオハザード4,罪と罰 宇宙の継承者
No.1ベストアンサー
- 回答日時:
自分が作った時は
・表示するモデルと別の簡素化したモデルを基準に当り判定を行いました。
・面と面は結構処理が重たかったので、線分と線分、線分と円での判定を行いました。
てな感じです。
> 何千というポリゴンから成る最近のゲームキャラクターに対しては現実的な方法では無いと思います。
とお考えの様ですが、最近のPCやゲーム機だとそんな事は無いと思います。
ざっくりとした解説と言うのが接触判定の処理方法に関してでしたら、
・OBB(この言い方は古いかも知れません)
・二分木による判定のカリング
上記を元に調べてみると良いかも知れません。
この手のジャンルのゲームの当たり判定があまりに良くできているので、幾何学的計算によらない、何か"裏技的"に最適化された方法(例えばシェーダー,GPUを活用したトリック)が確立されているのではないかと思った事からこのトピックを立てました。
簡素化された判定用モデルを使っているのだとしたら、大体どの程度の簡素化がなされているのか、とても興味があります。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
ResultSet での問題
-
Excelで =EMBED("Acrobat Docu...
-
ADO オブジェクトの渡し方
-
C#でフォームのオブジェクト名...
-
Accessの連結・非連結オブジェ...
-
JAVAからHTMLへ値を返す方法
-
Javaの問題なんですが、(this==...
-
ワードで画像をドロップすると...
-
newは明示的にした方が良いのか?
-
PowerPointの図について
-
時間帯判定をする。
-
VB6.0(SP6)からActiveXDLLをコ...
-
vb.net オブジェクト指向につい...
-
printerオブジェクトでのテキス...
-
ワイルドカード<?>と型パラメー...
-
オブジェクトに値を保持させる...
-
CoCreateInstanceでエラーになる。
-
JavaScriptとjQueryのbindの違い
-
VBAのWindowオブジェクトとWork...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで =EMBED("Acrobat Docu...
-
VBA 同じ名前のオブジェクトを...
-
EXCEL VBAにて動的にCheckBOXを...
-
パワーポイントのVBAでテキスト...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
Object型からDouble型へのキャスト
-
時間帯判定をする。
-
C++で*thisは何を指しているの...
-
ワイルドカード<?>と型パラメー...
-
Accessの連結・非連結オブジェ...
-
COMコンポーネントって何?
-
newは明示的にした方が良いのか?
-
ビジュアルC++でボタンの有...
-
CoCreateInstanceでエラーになる。
-
ResultSet での問題
-
多人数のじゃんけんプログラム
-
printerオブジェクトでのテキス...
-
サーブレットのクラス図について。
-
VBSでのステートメントの末尾が...
おすすめ情報