概要
レイトレーシング(Ray Tracing、ドイツ語で「Strahlenverfolgung」)は、セット機材や照明器具ではなく、VFX、CGI、そして近年ではバーチャルプロダクションで用いられるコンピュータグラフィックスのレンダリング手法です。従来のラスタライゼーションのようにシーンを直接ピクセルに分解するのではなく、レイトレーシングは仮想3Dシーン内を個々の光線がどのように進むかを追跡し、それらの光線がオブジェクト、表面、素材にどのように当たるかを計算します。これにより、実際の光の挙動を模倣した影、反射、屈折が生成されます。
ラスタライゼーションとの決定的な違い:ラスタライゼーションでは光が表面から表面へと「飛び移る」ことがないため、照明担当者やアーティストは、追加の、手動で配置された光源を用いて間接照明を再現する必要があります。レイトレーシングでは、シーン内の光の拡散が物理的にシミュレートされ、間接照明(グローバルイルミネーション)も含まれます。
機能原理
レイトレーシングは、光線の経路を追跡し、その到達点を評価することで光の経路をシミュレートします。これにより、主要な光学現象を物理的に正確に描写できます。
- 影:近似ではなく、実際の光線経路から計算されます。
- 反射と屈折:表面間をさらに進む光線が、鏡面反射や屈折効果を生み出します。
- グローバルイルミネーション:シーン内を複数回「バウンス」する間接光が、リアルな光の雰囲気を作り出します。
その代償として、ラスタライゼーションよりも大幅に高い計算負荷がかかります。そのため、レイトレーシングは当初、長いレンダリング時間が許容される場面、つまり映画、テレビ、広告向けの事前計算された(オフラインレンダリングされた)CGI画像やVFXで主に使われていました。
セットでの使用 / バーチャルプロダクションでの使用
高性能なGPUハードウェアの登場により、レイトレーシングはリアルタイム(リアルタイムレイトレーシング)でも可能になり、バーチャルプロダクションにとって関連性が高まりました。Unreal Engineのようなゲームエンジンは、LEDウォール(LEDボリューム)上でフォトリアルなデジタル環境をカメラ内VFXのために表示するためにこれを利用しています。これにより、背景や仮想光源がライブで動き、カメラの動きに反応する一方で、LEDウォールは俳優や実物オブジェクトに対するインタラクティブなセットライトとしても機能します。
リアルタイムレイトレーシングのブレークスルーは、2018年にEpic Games、NVIDIA、ILMxLABが公開した「Reflections」テクデモで、スター・ウォーズ/最後のジェダイのキャラクターが登場したことでマークされました。Unreal Engine 4.22は、MicrosoftのDirectX Raytracingフレームワーク(DXR)とNVIDIAのRTXテクノロジーを通じてリアルタイムレイトレーシングを提供した最初のゲームエンジンでした。しかし、セットにおいては、レイトレーシングはグリップや照明機材のデバイスではなく、バーチャルプロダクションまたはVFX部門のソフトウェア/GPUのテーマであり続けます。