「レイキャスト」の版間の差分
imported>Administrator |
imported>Administrator 編集の要約なし |
||
| (同じ利用者による、間の3版が非表示) | |||
| 13行目: | 13行目: | ||
その両者の欠点を埋めるべく、現在位置から遠ざかるにつれ間隔を少しづつ広げていくという手法もある。 | その両者の欠点を埋めるべく、現在位置から遠ざかるにつれ間隔を少しづつ広げていくという手法もある。 | ||
処理を軽くすべく、右下から銃の生えているFPSなどの[[ゲーム]]では、銃弾の衝突判定はレイキャスト、キャラの衝突判定は[[AABB]] | [[ファイル:Ray-casting.png|none]] | ||
処理を軽くすべく、右下から銃の生えているFPSなどの[[ゲーム]]では、銃弾の衝突判定はレイキャスト、キャラの衝突判定は[[AABB]]と使い分けているケースも見受けられる。また某[[オープンソース]]な[[物理演算エンジン]]の[[ソースコード]]では、まず[[AABB]]で大雑把な判定を行い、次にレイキャストを行うという2段階処理になっているものもあった。 | |||
== 2Dを3Dっぽく描画 == | == 2Dを3Dっぽく描画 == | ||
| 24行目: | 26行目: | ||
上記では2次元配列から3D風を生成する事例であるが、これに1軸を加え3次元配列から3D空間を描画すれば[[ボリュームレンダリング]]となる。 | 上記では2次元配列から3D風を生成する事例であるが、これに1軸を加え3次元配列から3D空間を描画すれば[[ボリュームレンダリング]]となる。 | ||
一世を風靡した「[[マインクラフト]]」である。 | 一世を風靡した「[[マインクラフト]]」である。 | ||
視点となる「点」と、その先にあるスクリーンとなる「面」を決め、その視点からスクリーン上の1点を結ぶ線(これをレイという)のさらに先の延長線上にある[[ボクセル]]の値を次々と抽出する。レイキャスティングで得られた値を用いて、[[最大値]]や[[最小値]]、[[平均値]]、[[中央値]]などといった値に加工し、最終的な映像として[[レンダリング]]することを[[ボリュームレンダリング]]という。 | |||
一見すごそうに思えるが、やっていることは前述の2Dの3D風描画にZ軸の概念を加えただけである。 | |||
単純に重い。 | |||
[[category: 3DCG]] | [[category: 3DCG]] | ||
[[category: 衝突判定]] | [[category: 衝突判定]] | ||
[[category: アルゴリズム]] | |||