
Unreal Engine 4 に搭載されているレンダリングシステムは、ディファードシェーディング、グローバル イルミネーション、lit(ライティング有り)の透過処理、そしてポストプロセスに加えベクターフィールドを利用する GPU パーティクルシミュレーションが可能な全く新しい DirectX 11 パイプラインと DirectX 12 です。
ディファード・シェーディング
Unreal Engine 3 の先行光源処理の搭載とは対照的に、Unreal Engine 4 では全てのライティングにディファードが適用されています。マテリアルはその属性を GBuffers に書き出し、ライティング パスはピクセル単位のマテリアル プロパティで読み込み、そのライティングを行います。
ライティング パス
UE4 には以下の 3 つのライティング パスがあります。
- 完全に動的 - Movable Lights (可動ライト) あり
- 部分的に静的 - Stationary Lights (固定ライト) あり
- 完全に静的 - Static Lights (静的ライト) あり
これらは、クオリティ、パフォーマンス、インゲームの可変性の間で様々なトレードオフがあるツールです。各ゲームでは、こうしたニーズに対して最適なパスがどれであるかを選択できます。
Lit(ライティング有り)の透過処理
透過処理は、単一のフォワード (レンダリング) パスにおけるlit (ライティング有り) や投影処理で、他の透過処理と正確なブレンディングを保証します。これはマルチパス光源技術では不可能な処理です。

透過処理は、不透明なワールド、その処理自体、また他の lit (ライティング有り) 透過に対してシャドウを投影することが出来ます。
|
|
透過パーティクルへのセルフ シャドウイング (横から見たところ) | 透過パーティクルへのセルフ シャドウイング (前から見たところ) |
詳細は lit (ライティング有り) 透過 を参照してください。
サブサーフェス シェーディング
ワックスや淡緑色など不透明に表示されるマテリアルを対象とする新規のシェーディング モデルとして MLM_Subsurface がマテリアルに加わり、ライティングが内側で散乱します。この機能は通常の皮膚のレンダリング手法よりも、低品質でパフォーマンスコストが削減されます。
|
|
Jade マテリアル | Ice マテリアル |
GPU パーティクル
UE4 は GPU パーティクルのシミュレーションをサポートします。従来の CPU システムは数十万のパーティクルがフレームで処理されました。GPU シミュレーションは数十万のパーティクルのシミュレーションおよびレンダリングを効率よく処理します。


ベクター フィールド
効率性はさておき、GPU パーティクルの最も興味深い機能はベクター フィールドです。ベクター フィールドはベクトルの統一グリッドで、パーティクルの動作に影響を及ぼします。ベクターフィールドはアクタとしてワールドに配置され、その他のアクタ同様に移動、回転、そしてスケーリングされます。ベクター フィールドは、動的でいつでも移動させることができます。

フィールドはカスケード内に配置することも可能で、関連性のあるエミッタへの影響を制限します。パーティクルがベクターフィールド設定範囲に突入すると、パーティクルの動作はベクターフィールドに影響されますが、パーティクルが設定範囲を離れるにつれて影響度が薄れます。

ポストプロセスのエフェクト
Unreal Engine 4 が提供するいくつかのポストプロセス エフェクトにより、アーティストやデザイナーは、全体的な見た目やシーンの雰囲気の細かいチューニングが可能となります。ブルーム (明るいオブジェクトに対する HDR ブルーム エフェクト) 、アンビエントオクルージョン、トーンマッピングなどが、エレメントやエフェクトの例です。
アンビエント オクルージョン (AO)
アンビエント オクルージョン 効果は SSAO (スクリーン スペース アンビエント オクルージョン) 実装によってもたらされ、現在は深度バッファに依存しています。これは法線マップの詳細やスムージング グループが結果に影響を与えないことを意味します。効果が有効になると、超低ポリゴンメッシュはより角ばった表示になります。UE4 は、現状は AmbientCubemap のみですがアンビエントのみにこのエフェクトを適用します。
アンビエント キューブマップ
アンビエント キューブマップ エフェクトは、シーン全体のライティングにキューブマップテクスチャを適用します。このエフェクトはマテリアルが lit (ライティング有り) されている位置とは無関係です。ビューアーの位置、マテリアルのラフネス (スペキュラ エフェクト)、そしてマテリアルのサーフェス ノーマルの全てが設定に考慮されています。これにより効率的かつ高品質のライティング環境を作成できます。
ブルーム (Bloom)
ブルーム とは、現実世界における発光現象です。これを利用することによって、適度なレンダリング パフォーマンス コストでレンダリングされた画像の現実味を、知覚的かつ大幅に向上させることができます。非常に明るいオブジェクトの後ろにきわめて暗い背景があると、ブルームを肉眼で見ることができます。さらに明るいオブジェクトは他の効果 (光の筋やレンズフレア) ももたらしますが、従来型のブルームエフェクトはこのような効果は取り扱いません。私達が使用するディスプレイ (TV や TFT など) は通常 HDR (High Dynamic Range) をサポートしないため、きわめて明るいオブジェクトをレンダリングすることができないのです。その代わりに、目の中で生じる効果 (網膜のサブサーフェス スキャタリング) をシミュレートします。これは、光がフィルムにあたる場合 (フィルム サブサーフェス スキャタリング) や乳白色のガラスフィルターをカメラの前に置いた場合に見られる効果です。この効果は、必ずしも物理的に正当であるとは限りませんが、オブジェクトの相対光度を示し、スクリーンに表示される LDR (Low Dynamic Range) 画像のリアリティの向上に役立ちます。

ブルームの汚れマスク (Bloom Dirt Mask)
ブルームの汚れマスク エフェクトは、テクスチャを使用して定義されたスクリーン領域の一部を明るくします。これは戦闘シーンを捉えたカメラの様子、より印象深い HDR エフェクト、またはリアル カメラ エフェクトなどの作成に使用します。
視覚の順応
自動露出 、または視覚の順応は、明るい環境から暗い環境へそして逆もまた同様に、人間の視覚が体験する効果を再現するためにシーンの露出を自動的に調整します。
レンズフレア (Lens Flare)
レンズフレア 効果は、明るいオブジェクトが表示されると自動的にレンズフレアを作成する画像ベースの技術です。

トーン マッピング (Tone Mapping)
トーン マッピング は、レンダリングシーンの色の推移や修正をして最終結果を変更することができます。この機能は、セピア調のフィルタやヒットエフェクト (例えば赤い閃光) などさまざまな用途に使えます。


ビネット効果 (Vignette)
ビネット エフェクトは、ビューポート中心からの距離が離れるほどレンダリングされたシーンの輝度が低下します。
