ライティング

現実の世界では、自分のまわりにあるものしか見えません。光は自分の周囲で常にバウンスしており、さまざまな波長が吸収され、反射し、最終的に一部の光線しか目に入らないからです。同様に、ゲーム レベル内でシーンに配置されたオブジェクトが見えるためには、ライトがこれらのオブジェクトのサーフェスでバウンスして、カメラに当たる必要があります。

ゲーム内でライトをコントロールするには、複雑な方法で相互作用する可能性のあるさまざまな光源の影響度を組み合わせます。レベルのライティングを設定する場合は、次に示す複数の要因のバランスを取ります。

このセクションのトピックでは、Stingray が提供するすべてのライティング技術の使用方法について説明します。

たとえば、上記のシーンでは、頭上に配置された複数の光源からの直接照明、主にシャドウ領域内で表示されるグローバルな周囲光、および頭上のユニットの放出マテリアルを使用して、これらが輝いて見えるようにします。

これらのライティング技術は互いを補うものであり、ゲームのさまざまな部分や、レベル内のさまざまな場所で並列に使用できることに注意してください。たとえば、特定の重要な静的オブジェクトをレンダリングする場合は、高品質のビットマップを「ベイク処理」することができますが、注目度の低い他のオブジェクトにはグローバルなライティング マップを使用します。

直接照明

ゲーム エンジンのレンダリング システムは、シーン内のすべての「直接光」をリアルタイムで加算します。直接光は、サーフェスで一度バウンスした後に、カメラにまっすぐ当たるライトのことです。この直接光は、レベル内に配置された光源から届きます。

すべてのレベルには、既定により、離れた位置にある光源をシミュレートするディレクショナル ライトが設定されています(通常は太陽や月)。他の種類の光源を作成して、レベル内に配置することもできます。通常、これらの光源は、ランプ、スポットライト、キャンドル、トーチなど、シーン内のオブジェクトから放出されるライトをシミュレートします。「光源」を参照してください。

直接照明はゲームの各フレーム内でリアルタイムに計算およびレンダリングされるため、シーン内のオブジェクトとライトの配置や方向が正確に反映されたシャドウが生成されます。たとえば、次のキャラクタを周りで移動すると、地面や付近のオブジェクトに移動する影が付きます。

ただし、直接照明自体は非常に鮮明な光と、非常に暗いシャドウを生成します。シャドウは、配置されたライトからの光線が届かなくて、ほとんど黒色にレンダリングされる場所のことです。シャドウはコントラストが大きい、とても印象的なエフェクトを生み出します。レベル設計者は、レベルに光源を追加して暗い領域を埋めることによって、このバランスを取ることができます。ただし、通常は、シーンに「間接光」をいくつか追加することをお勧めします。この間接光によってこれらのシャドウ領域が埋められるため、直接光が当たっていない場合でもサーフェスを見ることができます。

間接照明

現実の世界では、ライトは 1 回のバウンスで停止しません。エネルギーがなくなるまでオブジェクトからオブジェクトへと反射して、オブジェクトの周囲や背後に到達します。これにより、シャドウ領域を部分的に照らす「間接光」が作成されて、全体的なコントラストが低下します。

間接光がシャドウ領域に入り込む様子を正確にシミュレートする作業は一般に複雑すぎるため、ゲーム中に精度の高いシミュレーションをリアルタイムに行うことは不可能です。ただし、負担の大きいランタイムの計算を行わなくても、間接光をシミュレートするために使用できる技術がいくつかあります。

グローバル ライティング

レベルのシェーディング環境を設定して、シーンに「グローバル ライティング」を追加します。グローバル ライティングでは、拡散反射光と鏡面反射光の影響は、リアルタイム レンダラーによってレベル内のすべてのサーフェスに均一に適用されます。

通常は、反射プローブによってベイク処理されるテクスチャを使用してこの周囲光を設定します。こうすることで、周囲の環境またはスカイから光が届く周囲光のように見えます。

グローバル環境ライティング」を参照してください。

ベイク処理されたライティング

ゲームを実行しているハードウェアへの負担を上げずに、より正確でリアルな間接照明を実現する必要がある場合は、シーンのライティングを「ベイク処理」することもできます。こうすると、ディスク上に一連のテクスチャ ファイル(「ライトマップ」)が作成され、その中に、レベル内の各サーフェスに到達するイルミネーションが格納されます。

これらのライトマップの計算には余分な時間がかかり、ライトマップをゲームにロードするには追加メモリが使用されます。ただし、ランタイムの CPU パフォーマンスおよびリアルさは、完全に動的なライティングに比べて一般に向上します。

ライトのベイク処理」を参照してください。

物理ベースのライティング

ライトの計測は、「フォトメトリック」と呼ばれます。フォトメトリック ライトを使用すると、シーン内のライトを正確に定義することができます。Stingray で Physical Light エンティティを使用すると、実際のライトのデータを使用して、シーン内にリアルなライト分布を作成することができます。

物理ベースのライティング」を参照してください。

放出グロー

Stingray マテリアルの emissive プロパティを使用すると、車のテールライト、機械の LED、ネオン サインのように、モデルの一部が輝いて見えるようにすることができます。オブジェクトのシェーディングに使用するマテリアルにおける、これらの放出の影響度を設定します。

放出マテリアルは、実際は、シーン内の他のオブジェクトに直接光を放出しません。リアル タイム レンダラーには、放出マテリアルからの直接的な影響は含まれません。ただし、ポストプロセスでシェーディング環境によって適用されるわずかなブルームと組み合わせることにより、小さな光源のシミュレートを効果的に、かつ低コストで行えるようになります。

周囲のシーンに直接光を発する放射性オブジェクトが必要な場合は、スポットライトなどの動的な光源と組み合わせたり、ベイク処理したりできます。間接光をベイク処理するときに、放出マテリアルの影響が考慮されます。

シェーディング」セクションのトピックも参照してください。

関連項目