リアルタイムの基礎知識

リアルタイム レイ トレーシングとは?なぜこれを気にする必要があるのか?

Courtesy of Epic Records
この 3 ~ 4 年間、リアルタイム レイ トレーシングについてよく耳にするようになったと思います。友人から、「次の PC またはノート パソコンには NVIDIA RTX グラフィック カードを載せたほうがいいよ」などと言われたことはありませんか?しかし、リアルタイム レイ トレーシングとは実際に何かをよくご存じない方もいるでしょう。そのような場合にはこの記事が役立ちます。

そもそもレイ トレーシングとは?

それでは、基本から始めましょう。レイ トレーシングを大まかに定義し、多くの場合にレイ トレーシングによって置き換えられる技術であるラスタライズとどのように異なるのかを見ていきます。

ラスタライズとレイ トレーシングはいずれもコンピュータ グラフィックスで使用されるレンダリング方法で、画面に表示される画像、またはレンダリング ボタンを押したときにハード ドライブに作成される画像を構成するピクセルの色を決定します。

ラスタライズは、シーン内のオブジェクトを後ろから前に描画し、変換マトリクスを介して 3D オブジェクトを 2D 平面にマッピングすることで機能します。メッシュ (モデル) に格納された情報 (色、テクスチャ、法線) に基づいて各ピクセルの色を決定し、シーン内のライティングと組み合わせます。通常、ラスタライズはレイ トレーシングよりもはるかに高速です。しかし、真の反射、半透明、アンビエント オクルージョンなど、反射光に依存するエフェクトをシミュレートできません。
一方、レイ トレーシングは、カメラの視点から光線をキャストして、光源に到達するまでシーン内のオブジェクトの周りをバウンスするパスを追跡し、その過程で色を収集して配置することで機能します。光線の物理的な動作を模倣するため、ソフトで詳細なシャドウ、アンビエント オクルージョン、正確な屈折と反射など、ラスタライズよりもはるかに高品質でフォトリアルな結果を得られます。しかし従来は、これらすべての利点を得るには、代償として「速度」を犠牲にする必要がありました。

リアルタイム レンダリングとは?

劇場で映画を観る際、フッテージ 1 秒ごとに 24 の個別のフレームが連続して再生されると、脳は連続的な動きとして認識します。これは、実際の俳優や環境を使った実写作品であろうと、コンピュータで生成された作品であろうと同じです。

コンピュータで生成された映画の場合は、これらの各フレームをレンダリングする必要があります。つまり、フレームを構成する各ピクセルがどのように見えるかを、コンピュータで計算する必要があります。従来のコンピュータ グラフィックス (CG) パイプラインでは、この作業はオフライン レンダラを介して行われていました。この際、目的の解像度と品質を実現するために、1 つのフレームをレンダリングするのに数時間または数日かかることも珍しくありませんでした。

しかし、ゲームやその他のインタラクティブなアプリケーションではカメラがその瞬間に何を捉えるのかを事前に把握する方法がないことから、フレームは再生と同じ速度、つまりリアルタイムでレンダリングする必要があります。ゲームでは毎 60 または 120 フレームのレンダリングが必要になります。これは、1 フレームあたりわずか数ミリ秒です。

ラスタライズは、スマートなトリックを使ったり妥協を受け入れたりすることで、今まで何十年もの間、ゲームのリアルタイム レンダリングでも十分高速に動作してきました。しかしレイ トレーシングは、最近までオフライン レンダリングのみに使用されていました。ゲーム開発におけるレイ トレーシングの唯一の用途はシネマティックス (カットシーンとも呼ばれます) でした。これは映画と同様、事前にレンダリングされており、ゲーム内では単純にその再生のみを行い、操作することはできません。

リアルタイム レイ トレーシングが可能になった理由は?

そのような状況は、2018 年に 2 つの並行計算技術が出現したことから大きく変化しました。Microsoft の DXR (DirectX Raytracing) フレームワークNVIDIA の RTX プラットフォームです。Epic Games は NVIDIA および ILMxLAB と協力して、2018 年 3 月の GDC で初めて、スターウォーズ/最後のジェダイのキャラクターをフィーチャーした反射技術のデモでリアルタイム レイ トレーシングを披露しました。
この記事では、テクスチャ エリア ライト、レイ トレーシングされたエリア ライト シャドウ、レイ トレーシングされた反射、レイ トレーシングされたアンビエント オクルージョン、シネマティックな被写界深度 (DOF)、そして NVIDIA リアルタイム ノイズ除去について解説します。これらはすべてリアルタイムでの実行が可能な機能です。

当初、Unreal Engine のプロトタイプ コードはまだユーザーに提供されていませんでした。デモをリアルタイムで実行するために必要なハードウェアには NVIDIA Volta GPU を 4 つ搭載した NVIDIA DGX Station が必要で、価格は 70,000 ドル程度かかることから、ソフトウェアもハードウェアも平均的なユーザーには手の届かないものでした。
 

リアルタイム レイ トレーシングは万人向けか?

NVIDIA は、2018 年 8 月の Gamescom で、新しく発表された 1,200 ドルの GeForce RTX 2080 Ti GPU の 1 つだけで反射がリアルタイムで動作することを示しました。

Epic Games は、翌年 3 月の GDC でリアルタイム レイ トレーシング テクノロジーを Unreal Engine 4.22 のベータ版で提供しました。これは、レイ トレーシング機能の恩恵を受けるパスのレイ トレーシング機能と、恩恵を受けないパスの従来のラスタ技術を組み合わせたハイブリッドな手法を用いていました。それにより、結果をリアルタイムで出力できるようになりました。

この発表の一環として、Goodbye Kansas および Deep Forest Films は、デジタル ヒューマンをフィーチャーしたリアルタイム シネマティックを使って、このソフトウェアが 12 か月でどれだけ進歩したのかを Troll で示しました。
Epic では、リアルタイム レイ トレーシング ソフトウェアである Unreal Engine 5 にパフォーマンス、安定性、および機能の完全性に関する多くのアップグレードを実装しており、500 ドル以下の RTX グラフィック カードで実行可能になりました。Unreal Engine のダウンロードは完全に無料であるため、すぐに使用を開始できます。RTX グラフィック カードも安価になっていることから、より幅広い層のユーザーがリアルタイム レイ トレーシングの恩恵を受けられるようになりました。

レイ トレーシングの利点は?

リアルタイムかオフラインかを問わない、レイ トレーシングの実際の利点をいくつか見てみましょう。

正確な反射があると、シーンのリアリティが大きく向上します。レイ トレーシングによる反射では複数のバウンスがサポートされており、現実と同じように反射サーフェスに相互反射を加えることができます。また、視野外のオブジェクトも反射します。自動車の設計者やマーケティング担当者にとって、光がサーフェスでどのように反射するかは非常に重要です。レイ トレーシングを使用すると、自動車を製造する前にそれを視覚化できます。
Courtesy of GIANTSTEP
レイ トレーシングによるシャドウは、環境内のオブジェクトに対するソフト エリア ライティング エフェクトをシミュレートします。つまり、光源のサイズや角度に基づいて、オブジェクトのシャドウはコンタクト サーフェスの近くでよりシャープなシャドウになり、離れるとよりソフトになって範囲も広がります。レイ トレーシングによるシャドウは、シーン内の接地しているオブジェクトだけでなく、いす張りなどの領域の細部もキャプチャするため、インテリアがより現実味を帯びたものになります。建築の場合は、レイ トレーシングによるシャドウで正確な太陽を再現できます。
グローバル イルミネーションは、オブジェクトを構成するマテリアルの吸収と反射を考慮して、光とオブジェクトの自然な相互作用がシーン内の他のオブジェクトの色にどのように影響するかをシミュレートします。これにより、シーンのリアリティが大幅に高まります。レイ トレーシングの場合、グローバル イルミネーションは事前にベイクを行うのではなく、フレームごとに計算を行います。つまり、ライトのオン/オフ、日の出、誰かがドアを開ける動作など、時間の経過とともにライティングを変化させることができます。Unreal Engine の Lumen は、複数のレイ トレーシング手法を使用する完全に動的なグローバル イルミネーションおよび反射システムです。
アンビエント オクルージョンとは、壁が交わるコーナーやエッジ、肌の隙間やしわなど、環境光 (光源から直接発生しないライティング) が自然に遮られる領域のシャドウイングです。レイ トレーシングされたアンビエント オクルージョンは、スクリーン空間のアンビエント オクルージョンよりもはるかに正確 (したがって、よりリアル) です。
エクステリアのレンダリング、または大きな窓のあるインテリアの場合にリアリティのあるシーンを作成するには、空からのライティングの正確な描写が不可欠です。レイ トレーシングを使用すると、ハイ ダイナミック レンジ (HDR) 画像を使用してシーンを照らし、現実世界を効果的に模倣したわずかにソフトなエフェクトを生成できます。
Courtesy of ARCHVYZ, design by Toledano Architects
これらすべての利点に加えて、レイ トレーシングは、深度マップ シャドウ、ベイクしたグローバル イルミネーション、反射プローブまたは反射プレーンなど、ラスター レンダラでこれらのエフェクトの一部を模倣するために使用される方法よりも、一般的に設定と使用がはるかに簡単です。

誰がリアルタイム レイ トレーシングを使用しているのか?

多くのゲーム デベロッパーの目標は、自分たちが創り出すエクスペリエンスをよりリアルなものにすることで、リアルタイム レイ トレーシングはその目標の達成に貢献します。AAA ゲームの制作サイクルは通常 3 ~ 4 年であったことから、プレイヤーは新しい技術の恩恵を受けるまで辛抱強く待つ必要がありました。しかし今日では、Deliver Us MarsGhostwire: Tokyo および Hellblade: Senua’s Sacrifice といったような、リアルタイム レイ トレーシングを使用する豪華な映像を備えた最新のゲーム作品が急速に増えています。これらの他にもたくさんあります。
Unreal Engine のリアルタイム レイ トレーシングは、ゲーム開発だけでなく、Buildmedia のインタラクティブな販売ツールなどの建築ビジュアライゼーションや、SUBARU の VR デザイン レビュー ツールVolkswagen のより環境に優しい自動車コマーシャルといった例を含む、映画やテレビ向けのバーチャル プロダクションなどのリアルタイム アプリケーションでも使用されています。バーチャル コンサートからオンライン ファッション フィッティングまで、リアリズムを追求するあらゆるインタラクティブなアプリケーションでリアルタイム レイ トレーシングの恩恵を受けることができます。リアルタイム レイ トレーシングのエクスペリエンスは、光の自然な挙動をシミュレートすることで、より没入感の高い、リアルなものになります。
Courtesy of Epic Records
リアルタイム レイ トレーシングは、映画やテレビ向けのアニメーション コンテンツ制作の世界にも影響を与えています。Studio EON の Armored Saurus シリーズ では、バーチャル プロダクション技術も採用されています。従来のパイプラインよりはるかに短い時間でレンダリング可能、かつ視聴者が求める映像を実現できるので、制作コストを節約できるだけでなく、最後の最後まで作業を繰り返して、自分が思い描いたとおりの最高のストーリーを追求できます。
Courtesy of Armored Saurus | Studio EON

リアルタイム レイ トレーシングの概要

Unreal Engine でリアルタイム レイ トレーシングを試してみたい場合は、Unreal Engine を無料でダウンロードできます。システム要件を確認したい場合は、こちらのドキュメントを参照してください。また、リアルタイム レイ トレーシングを有効にする方法や、機能の詳細を確認することもできます。

ビデオ チュートリアルをご希望の場合は Epic Developer Community にアクセスしてください。ここには、レイ トレーシングに関するこれらのコースを含む、数百時間にも及ぶ無料のオンライン ラーニングが用意されています。

加えて、Unreal Engine では パス トレーサーと呼ばれるレイ トレーシング技術を利用したもう一つの機能を利用できます。これは、プログレッシブなハードウェア アクセラレーションによるレンダリング モードであり、物理的に正確な、妥協のないグローバル イルミネーション、マテリアルの反射や屈折などを使用することで、リアルタイム機能のデメリットを軽減します。
Courtesy of ARCHVYZ, design by Toledano Architects

さらに多くの「リアルタイムの基礎知識」


リアルタイムの基礎知識

3D アニメーターとは?

リアルタイムの基礎知識

拡張現実 (AR) とは?

関連するブログ記事


レイトレーシング

Lumen により、フォートナイト バトルロイヤル チャプター 4 でリアルタイム グローバル イルミネーションを実現

レイトレーシング

Unreal Engine に関するセッションをピックアップ! | CEDEC 2022( 講演スライド・動画公開中 )

レイトレーシング

Unreal Engine 5 の動的なグローバル イルミネーション Lumen が実現する機能を紹介します