スカイライト
スカイライト は、レベルの遠い部分 (SkyDistanceThreshold 以遠全て) をキャプチャし、それをライトとしてシーンに適用します。空が大気圏または、スカイボックスの一番上にレイヤーされた雲、あるいは遠くの山々とつながっていても、 空の外観とライティング / 反射が一致します。キューブマップの使用を手動で指定することもできます。
Scene Capture
Sky Light はシーンを再キャプチャするのみです。
Static Sky Lights は、ライティングのビルド時に自動的に更新されます
Stationary (固定) Sky Light あるいは Movable (ムーバブル) Sky Light の場合、ロード時に 1 度更新され、あとは Recapture Sky の呼び出し時に更新されます。これは [Details] パネルまたはインゲームでのブループリントの呼び出しで行われます。
スカイボックスが使用しているテクスチャを変更した場合、変更は自動認識されません。更新には上記の手順のいずれかを使用しなけばなりません。
スカイライトは室内エリアのぼやけを防ぐローカル空間のシャドウイングをサポートしているので、空のライトを表現するにはアンビエント キューブマップではなくスカイライトを使用すべきです。
可動性
他の ライトのタイプ と同様に、スカイライトの 可動性 は以下のいずれかに設定することができます。
可動性の状態 |
説明 |
---|---|
Static (静的) |
ゲーム中はライティングの変更はできません。これは、最速のレンダリング方法であり、焼き付けたライティングを可能にします。 |
Stationary (固定) |
ライティングのビルド中に、シャドウイングとライト バウンスが静的なジオメトリからキャプチャのみされます。すべての他のライティングは動的です。この設定により、ゲーム中にライトのカラー、強度、キューブマップを変更することが可能となりますが、移動および部分的なライトのベイクはできません。 |
Movable (ムーバブル) |
必要に応じてインゲームでの移動および変更が可能です。 |
Static Sky Light (静的スカイライト)
Static Mobility (静的可動性) が設定されている Sky Light (スカイライト) は、静的オブジェクト用のライトマップに完全に焼き付けられるので、負荷は全くかかりません。ライトのプロパティを編集した場合、 レベルに対してライティングが再びビルドされるまで、変更は反映されません。
モバイル向け開発で唯一サポートされているスカイライトになります。
Static Sky Light を使う場合、Static Mobility (静的可動性) または Stationary Mobility (固定可動性) のあるコンポーネントとライトのみがキャプチャされ、静的スカイライトのライティングに使用されます。さらに、 マテリアルのエミッシブ効果のみが Static Sky Light (静的スカイライト) でキャプチャされます。これはフィードバックループを避けるためです。この理由から、すべてのスカイボックスのマテリアルには必ず [Unlit] を設定してください。
Stationary Sky Light (固定スカイライト)
[Stationary (固定)] を設定したスカイライトは、[Static (静的)] に設定した場合と同様に、ライトマス からシャドウイングをベイクされます。レベル内に Stationary Sky (固定スカイライト)を配置したら、 焼き付けられらシャドウイングを取得するために再度ライティングをリビルドする必要があります。
他のStationary Lights と同じ要領で、ランタイム時に ブループリント または シーケンサー で変更可能なプロパティもあります。つまり、 レベル全体を再ビルドしなくても、スカイライトの 強度 または カラー を変更することができるのです。ただし、間接ライティングはライトマップ上に焼き付けられ、実行時での変更はできません。間接ライティングの量は、 [Indirect Lighting Intensity] によって調節ができます。
Stationary Sky Light を使う場合、レベル内でモビリティが [Static] または [Stationary] に設定されたしたのあるコンポーネントとライトのみがキャプチャされ、静的スカイライトのライティングに使用されます。さらに、 マテリアルのエミッシブ効果のみが Stationary Sky Light (固定スカイライト) でキャプチャされます。これはフィードバックループを避けるためです。この理由から、すべてのスカイボックスのマテリアルには必ず [Unlit] を設定してください。
Movable Sky Light (可動スカイライト)
Movable に設定されたスカイライトは事前計算は一切使用しません。シーンをキャプチャする設定にされると、コンポーネントとライトの可動性をキャプチャします。
ディスタンス フィールド アンビエント オクルージョン
この機能はデフォルトではオンにはなっていません。Distance FieldNEW! 機能を使って有効にします。
Movable Sky Light のシャドウイングには、剛体オブジェクトをそれぞれ事前計算した Signed Distance Field Volumes から Distance Field Ambient Occlusion を作成する機能があります。Distance Field Ambient Occlusion は動的シーンの変更に対応しているので、剛体メッシュの移動あるいは非表示が可能となり、オクルージョンにも影響を与えることが可能です。
クリックしてフルサイズ表示
詳細は Distance Field Ambient Occlusion の使用方法NEW! をご覧ください。
事前計算されたスカイライト
ベイクされたライティングを Static または Stationary Sky Light で使う場合、ライティングとシャドウイングのデータはライトマップに格納されます。このセクションでは、 ライトマス がサポートするこれらの機能について説明します。
Static Sky Light の指向性の改善
4.18 より前のアンリアル エンジンでは、スカイライトは三次の球面調和関数 (Spherical Harmonic) でライトマスに表現されていましたが、日の出や日没のディテールはキャプチャしていませんでした。 フィルタリングされたキューブマップを使って、デフォルト設定でより高い解像度が得られるようになりました。さらにライトマスは、エイリアシングを避けるために、 Final Gather のレイの大きさに応じて適切な キューブマップ テクスチャの MIP を選択します。
[Engine Content] > [MapTemplates] > [Sky] から [SunsetAmbientCubemap] では、この種類のインタラクションの素晴らしいサンプルを見ることができます。
基本レベルを使って改善したサンプルです (エピックの Robo Recall より)。
明るさと色のバリエーションが多いスカイライトのキューブマップで遮蔽度がかなり高いシーンの場合にこの違いが顕著になります。
Camera Obscura
Static Sky Light の方向性が向上すると、開口部を十分に小さくすることでピンホール カメラ エフェクト (Camera Obscura ) を再現することができます。 開口部が小さくなるほど、スカイライトの指向性は高まります。
Stationary Sky Light のベント法線
ライティングとは別にライトマスが焼き付けたスカイライトのシャドウイングは、Bent Normal と呼ばれる指向性オクルージョン情報を格納しています。Aftermath は現在アンリアル エンジン エディタにおいて、 テクセルから最もオクルードされたいない方向への方向です。ほぼオクルードされたエリアは、サーフェス法線ではな Sky Light に対してこの方向を使います。それによりクラックの質が改善されます。
詳細は Bent Normal MapNEW! をご覧ください。
複数バウンスの設定
スカイライトの間接光を複数回バウンスさせる設定は、[World Settings] > [Lightmass] の [Num Sky Lighting Bounces]** で行います。
使用するスカイライトのバウンス回数の設定
スカイライトの複数バウンスの効果を得るには、ほとんどのケースでマテリアルのディフューズの値を高くする必要があります。例えば、ディフューズが .18 (18% グレイ) の場合、2 回目のスカイライトのバウンスはライトが放射するエネルギーの .18^3 = .006 しか寄与せず、 これはごくわずかなものです。例えば、ディフューズが 0.5 の場合、2 回目のスカイライトのバウンスはライトが放射するエネルギーの 0.125 寄与し、顕著なものになっています。
バウンスを追加する毎に分散できないビルドの時間が増えるため、注意深く使用してください。
プロパティ
Sky Light コンポーネントのプロパティは、ライトとスカイライトの 2 つに大きく分類されます。これらはアクタの [Details] パネルからアクセスすることができます。
Light
以下の設定はすべての [ライト タイプ]Light Types で共通です。
プロパティ |
説明 |
---|---|
Intensity |
ライトが放出するエネルギーの合計です。 |
Light Color |
ライトが放つ色を指定します。 |
Affects World |
ライトがワールドに影響を及ぼせるのか、あるいは無効なのかを設定します。 |
Cast Shadows |
ライトにシャドウをキャストさせるかを設定します。 |
Casts Static Shadows |
静的オブジェクトからライトにシャドウをキャストさせるかを設定します。 また、Cast Shadows を True に設定することが要求されます。 |
Casts Dynamic Shadows |
動的オブジェクトからライトにシャドウをキャストさせるかを設定します。 また、Cast Shadows を True に設定することを要求します。 |
Indirect Lighting Intensity |
ライトからの間接光の効果をスケーリングします。0 にするとこのライトのグローバル イルミネーション (GI) を無効にします。 |
Volumetric Scattering Intensity |
このライトからのボリュメトリック スキャタリングの強度です。Intensity と Light Color を調節します。 |
Cast Volumetric Shadow |
ライトが Volumetric Fog を投影するかどうか設定します。 |
スカイライト
以下は、スカイライトに特有の設定です。
プロパティ |
説明 |
||||
---|---|---|---|---|---|
Source Type |
遠くのシーンをキャプチャし光源として使用するか、あるいは特定のキューブマップを使用するかを設定します。シーンをキャプチャすると、スカイライト位置から SkyDistanceThreshold 値よりも遠方にある対象がすべて含まれます。
|
||||
Cubemap |
Source Type が SLS_SpecifiedCubemap に設定されている場合、天空光を使用するようにキューブマップを指定します。 |
||||
Source Cubemap Angle |
Source Type を SLS Specified Cubemap に設定した場合にソース キューブマップを回転させる角度です。 |
||||
Cubemap Resolution |
処理された最上部のキューブマップ MIP の最大解像度です。サイズは 2 の累乗にしなければいけません。 |
||||
Sky Distance Threshold |
そこからはどのジオメトリも空の一部として見なされるスカイライトからの距離です (反射キャプチャ でも使用されます)。 |
||||
Capture Emissive Only |
エミッシブ マテリアルのみをキャプチャします。すべてのライティングをスキップするため、キャプチャが軽くなります。Capture Every Frame の使用時に推奨します。 |
||||
Lower Hemisphere is Solid Color |
下半球から放たれる全てのライトをゼロに設定するかどうかを決めます。下半球からの光の漏れを防ぐのに便利なプロパティです。 |
||||
Recapture Scene |
Sky Light アクタが SLS_CapturedScene に設定されると、シーンを照らすためにスカイサイトが使用している画像を再キャプチャします。 |
ムーバブル オブジェクトからのシャドウイング
ムーバブル オブジェクトから背景へのソフト シャドウイングは、スケルタル メッシュへの Capsule Shadows の使用、または 剛体メッシュへの Distance Field Indirect ShadowingNEW! の使用によって実現できます。そのためには、正しく機能するように別途設定が必要です。
制限事項
以下は、スカイライトと併用すると便利ですが、まだ実装されていない機能です。
Stationary (固定) および Movable (可動) バージョン向けのシーンの動的再キャプチャSkyLightComponent 上の RecaptureSky() と呼ばれるブループリント機能は使用可能ですが、処理落ちが発生します。
Static Sky Light (静的スカイライト)
Static Mobility (静的可動性) が設定されている Sky Light (スカイライト) は、静的オブジェクト用のライトマップに完全に焼き付けられるので、負荷は全くかかりません。モバイル上で唯一サポートされている種類のスカイライトになります。ライティングが再びビルドされるまで、ライトのプロパティの編集は表示されません。
注意:Static Mobility (静的可動性) または Stationary Mobility (固定可動性) のあるコンポーネントとライトのみがキャプチャされ、静的スカイライトのライティングに使用されます。さらに、マテリアルのエミッシブ効果のみが Static Sky Light (静的スカイライト) でキャプチャされます。これはフィードバックループを避けるためです。スカイボックスには unlit マテリアルがあるようにしてください。
Stationary Skylight (固定スカイライト)
Stationary Mobility**が設定されている Sky Light (スカイライト) は、ライトマス** から焼き付けられたシャドウイングを取得します。レベル内に Stationary Sky (固定スカイライト)を配置したら、焼き付けられらシャドウイングを取得するために再度ライティングをリビルドする必要があります。スカイライトはリビルドせずに好きなだけ変更することができます。
ライトマス が焼き付けた Sky Light のシャドウイングは、Bent Normal と呼ばれる指向性オクルージョン情報を格納しています。テクセルから最もオクルードされたいない方向への方向です。ほぼオクルードされたエリアは、サーフェス法線ではな Sky Light に対してこの方向を使います。それによりクラックの質がかなり良くなります。
1 枚目の画像は AO のみを適用したスカイライトです。2 枚目の画像はベント法線オクルージョンを使用したスカイライトです。ライティングが差し込む場所でクラックの表面がどのように一致しているかに注目してください。
注意:Static (静的) または Stationary Mobility (固定可動性) のあるコンポーネントとライトのみがキャプチャされ、Stationary Sky Light のあるライティングに使用されます。
すべての種類の Stationary Light (固定ライト) のように、直接ライティングの色は ブループリント あるいは マチネ の実行時に変更することができます。ただし、間接ライティングはライトマップ上に焼き付けられ、実行時での変更はできません。間接ライティングの量は IndirectLightingIntensity で制御ができます。
Movable Skylight (可動スカイライト)
Movable Skylight は事前計算を一切使用しません。シーンを天空光源としてキャプチャする設定にされると、コンポーネントとライトの可動性をキャプチャします。
ディスタンス フィールド アンビエント オクルージョン
Movable Skylight (可動スカイライト) のシャドウイングには ディスタンス フィールド アンビエント オクルージョン と呼ばれる新機能が備わっています。これは、剛体オブジェクトをそれぞれ事前計算した Signed Distance Field Volumes からアンビエント オクルージョンを作成する機能です。動的シーンの変更に対応しているので、剛体メッシュの移動あるいは非表示が可能となり、オクルージョンにも影響を与えます。この機能はデフォルトではオンにはなっていないので、幾つか設定をしなければなりません。
制限事項
以下は、Sky Light (スカイライト) と併用すると便利ですが、まだ実装されていない機能です。
可動オブジェクト (キャラクタ) から環境へのソフト シャドウイング。
Stationary (固定) および Movable (可動) バージョン向けのシーンの動的再キャプチャSkyLightComponent 上にある RecaptureSky() と呼ばれるブループリント機能は使用可能ですが、処理落ちが発生します。
スカイライトのプロパティ
Sky Light のプロパティは、Light と Sky Light の 2 つに大きく分類されます。
Light
プロパティ |
説明 |
---|---|
Intensity |
ライトが放出するエネルギーの合計です。 |
Light Color |
ライトが放つ色を指定します。 |
Affects World |
ライトがワールドに影響を及ぼせるのか、あるいは無効なのかを設定します。 |
Casts Shadows |
ライトにシャドウをキャストさせるかを設定します。 |
スカイライト
プロパティ |
説明 |
---|---|
Source Type |
遠くのシーンをキャプチャし光源として使用するか、あるいは特定のキューブマップを使用するかを設定します。シーンをキャプチャすると、スカイライト位置から |
Cubemap |
Source Type が |
Sky Distance Threshold |
そこからはどのジオメトリも空の一部として見なされるスカイライトからの距離です (反射キャプチャ でも使用されます)。 |
Lower Hemisphere is Black |
下半球から放たれる全てのライトをゼロに設定するかどうかを決めます。下半球からの光の漏れを防ぐのに便利なプロパティです。 |
Recapture Scene |
Sky Light アクタが |