「レイキャスト」の版間の差分

imported>Administrator
ページの作成:「'''レイキャスト'''(英語:ray-cast)とは、直訳すると「光(ray)を投げる(cast)」という意味であり、主に3Dの衝突判定や、2Dを3D...」
 
imported>Administrator
15行目: 15行目:
処理を軽くすべく、右下から銃の生えているFPSなどの[[ゲーム]]では、銃弾の衝突判定はレイキャスト、キャラの衝突判定は[[AABB]]と使い分けているケースも見受けられる。
処理を軽くすべく、右下から銃の生えているFPSなどの[[ゲーム]]では、銃弾の衝突判定はレイキャスト、キャラの衝突判定は[[AABB]]と使い分けているケースも見受けられる。


== レンダリング ==
== レイキャスティング ==
レイキャストは重たいというイメージがあるが、1フレームで大量に計算するから重たいのであって、1回の処理自体はそんなに重たいものではない。
レイキャストは重たいというイメージがあるが、1フレーム内で大量の頂点から大量に計算するから重たいのであって、1回の処理自体はそんなに重たいものではない。


そこでレイキャストを使い2Dマップ(2次元配列)から壁の抽出(添字算出)と、レイと壁の衝突角度を算出し、それを3D風に描画するとWolfenstein 3DやDOOMになる。
そこでレイキャストを使い2Dマップ(2次元配列)から壁の抽出(添字算出)と、レイと壁の衝突角度を算出し、それを3D風に描画すると一世を風靡した[[ゲーム]]「[[Wolfenstein 3D]]」や「[[DOOM]]」になる。現在のようなポリゴンを使った本格的な3Dゲームが大流行するより前の時代にに登場した「2Dを3D風に表現」する手法である。
現在のようなポリゴンを使った本格的な3Dゲームが大流行するより前の時代にに登場した「2Dを3D風に表現」する手法である。
[[ファイル:レイキャスト2.png|none]]
[[ファイル:レイキャスト2.png|none]]
== ボリュームレンダリング ==
上記では2次元配列から3D風を生成する事例であるが、これに1軸を加え3次元配列から3D空間を描画すれば[[ボリュームレンダリング]]となる。
一世を風靡した「[[マインクラフト]]」である。


[[category: 3DCG]]
[[category: 3DCG]]
[[category: 衝突判定]]
[[category: 衝突判定]]