レイキャスティング【ray casting】

概要

レイキャスティングとは、3次元コンピュータグラフィックス(3DCG)の描画アルゴリズムの一つで、視点から光線(ray)に相当する仮想的な直線を伸ばし、その線と物体や境界との交差関係を調べることで位置関係や内部・外部の判定などを行う計算手法。描画だけでなくゲームエンジンの視線判定などにも応用されている。
レイキャスティングのイメージ画像

人間が物体を見るとき、光源から出た光が物体に当たって反射し、この反射光が目に届くことで物体を認識する。レイキャスティングはこの逆を計算上でシミュレートする手法である。視点(カメラ)から画面上の各ピクセルに向けて仮想の光線を1本ずつ放ち、その光線が3D空間内のどのオブジェクトに最初に当たるかを計算する。交差したオブジェクトの色や表面の質感(テクスチャ)、光源との位置関係をもとにピクセルの色を決定し、これを全ピクセル分繰り返すことで1枚の画像が完成する。

より高度な手法である「レイトレーシング」(ray tracing)との違いは、光線の追跡をどこまで行うかにある。レイキャスティングはオブジェクトとの最初の交差点で計算を止めるのに対し、レイトレーシングはその点から反射や屈折、影などを求めて、さらに光線を追跡し続ける。レイキャスティングは計算量が少ない分、リアルタイム処理が必要な用途に向いており、レイトレーシングは写実性が高い反面、処理負荷が大きい。

歴史的にレイキャスティングの応用として特に知られるのが、1992年に公開されたゲーム「Wolfenstein 3D」である。厳密には2次元のマップデータに高さ情報を加えた簡略版だが、当時のハードウェアでリアルタイムに擬似3D空間を表示することができ、大きな衝撃を持って受け止められた。後続の「DOOM」でも同様の手法が応用され、一人称視点ゲームの黎明期を支えた技術として知られる。

現在では、グラフィック描画以外にも3Dゲームにおける当たり判定処理などに応用されている。例えば、3Dゲームエンジンにおけるオブジェクトクリック判定、視線判定、見通し判定(LoS:Line of Sight)など、画面(投影面)上の一点とゲーム内空間の位置を対応付けるような処理で、レイキャスティングを応用した手法が使われることがある。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。