差分

ナビゲーションに移動 検索に移動

レイキャスト

381 バイト追加, 2017年11月14日 (火) 01:37
処理を軽くすべく、右下から銃の生えているFPSなどの[[ゲーム]]では、銃弾の衝突判定はレイキャスト、キャラの衝突判定は[[AABB]]と使い分けているケースも見受けられる。
== レンダリング レイキャスティング ==レイキャストは重たいというイメージがあるが、1フレームで大量に計算するから重たいのであって、1回の処理自体はそんなに重たいものではない。レイキャストは重たいというイメージがあるが、1フレーム内で大量の頂点から大量に計算するから重たいのであって、1回の処理自体はそんなに重たいものではない。
そこでレイキャストを使い2Dマップ(2次元配列)から壁の抽出(添字算出)と、レイと壁の衝突角度を算出し、それを3D風に描画するとWolfenstein 3DやDOOMになる。現在のようなポリゴンを使った本格的な3Dゲームが大流行するより前の時代にに登場した「2Dを3D風に表現」する手法である。そこでレイキャストを使い2Dマップ(2次元配列)から壁の抽出(添字算出)と、レイと壁の衝突角度を算出し、それを3D風に描画すると一世を風靡した[[ゲーム]]「[[Wolfenstein 3D]]」や「[[DOOM]]」になる。現在のようなポリゴンを使った本格的な3Dゲームが大流行するより前の時代にに登場した「2Dを3D風に表現」する手法である。
[[ファイル:レイキャスト2.png|none]]
 
== ボリュームレンダリング ==
上記では2次元配列から3D風を生成する事例であるが、これに1軸を加え3次元配列から3D空間を描画すれば[[ボリュームレンダリング]]となる。
一世を風靡した「[[マインクラフト]]」である。
[[category: 3DCG]]
[[category: 衝突判定]]
匿名利用者

案内メニュー