スカイライト

スカイライトの概要です。

Windows
MacOS
Linux

Skylight_Header.png

スカイライト (Sky Light) は、レベルの遠い部分 (SkyDistanceThreshold 以遠全て) をキャプチャし、それをライトとしてシーンに適用します。空が大気圏または、スカイボックスの一番上にレイヤーされた雲、あるいは遠くの山々とつながっていても、 空の外観とライティング / 反射が一致します。使用するキューブマップを手作業で指定することもできます。

Scene Capture

Sky Light はシーンを再キャプチャするのみです。

  • Static Sky Lights は、ライティングのビルド時に自動的に更新されます

  • Stationary (固定) Sky Light あるいは Movable (ムーバブル) Sky Light の場合、ロード時に 1 度更新され、あとは Recapture Sky の呼び出し時に更新されます。これは [Details] パネルまたはインゲームでのブループリントの呼び出しで行われます。

スカイボックスが使用しているテクスチャを変更した場合、変更は自動認識されません。更新には上記の手順のいずれかを使用しなけばなりません。

スカイライトは室内エリアのぼやけを防ぐローカル空間のシャドウイングをサポートしているので、空のライトを表現するにはアンビエント キューブマップではなくスカイライトを使用すべきです。

可動性

他の ライトのタイプ と同様に、スカイライトの 可動性 は以下のいずれかに設定することができます。

skylightIcon.png

可動性の状態

説明

Static (静的)

ゲーム中はライティングの変更はできません。これは、最速のレンダリング方法であり、焼き付けたライティングを可能にします。

Stationary (固定)

ライティングのビルド中に、シャドウイングとライト バウンスが静的なジオメトリからキャプチャのみされます。すべての他のライティングは動的です。この設定により、ゲーム中にライトのカラー、強度、キューブマップを変更することが可能となりますが、移動および部分的なライトのベイクはできません。

Movable (ムーバブル)

必要に応じてインゲームでの移動および変更が可能です。

Static Sky Light (静的スカイライト)

Static Mobility (静的可動性) が設定されている Sky Light (スカイライト) は、静的オブジェクト用のライトマップに完全に焼き付けられるので、負荷は全くかかりません。ライトのプロパティを編集した場合、 レベルに対してライティングが再びビルドされるまで、変更は反映されません。

Static Sky Light を使う場合、Static Mobility (静的可動性) または Stationary Mobility (固定可動性) のあるコンポーネントとライトのみがキャプチャされ、静的スカイライトのライティングに使用されます。さらに、 マテリアルのエミッシブ効果のみが Static Sky Light (静的スカイライト) でキャプチャされます。これはフィードバックループを避けるためです。この理由から、すべてのスカイボックスのマテリアルには必ず [Unlit] を設定してください。

Stationary Skylight (固定スカイライト)

Stationary Mobility が設定されている Sky Light (スカイライト) は、ライトマス から焼き付けられたシャドウイングを取得します。レベル内に Stationary Sky (固定スカイライト)を配置したら、焼き付けられらシャドウイングを取得するために再度ライティングをリビルドする必要があります。スカイライトはリビルドせずに好きなだけ変更することができます。

ライトマス が焼き付けた Sky Light のシャドウイングは、Bent Normal と呼ばれる指向性オクルージョン情報を格納しています。テクセルから最もオクルードされたいない方向への方向です。ほぼオクルードされたエリアは、サーフェス法線ではな Sky Light に対してこの方向を使います。それによりクラックの質がかなり良くなります。

AO のみのスカイライト

ベント法線オクルージョンありのスカイライト

1 枚目の画像は AO のみを適用したスカイライトです。2 枚目の画像はベント法線オクルージョンを使用したスカイライトです。ライティングが差し込む場所でクラックの表面がどのように一致しているかに注目してください。

Static (静的) または Stationary Mobility (固定可動性) のあるコンポーネントとライトのみがキャプチャされ、Stationary Sky Light のあるライティングに使用されます。

すべての種類の Stationary Light (固定ライト) のように、直接ライティングの色は ブループリント あるいは マチネ の実行時に変更することができます。ただし、間接ライティングはライトマップ上に焼き付けられ、実行時での変更はできません。間接ライティングの量は IndirectLightingIntensity で制御ができます。

指向性ライトのみ

固定スカイライトに対して計算された指向性ライトとディフューズ GI

Movable Sky Light (可動スカイライト)

Movable に設定されたスカイライトは事前計算は一切使用しません。シーンをキャプチャする設定にされると、コンポーネントとライトの可動性をキャプチャします。

ディスタンス フィールド アンビエント オクルージョン

このプロパティでは、プロジェクト設定で メッシュ ディスタンス フィールド を有効にする必要があります。

Movable Sky Light のシャドウイングには、剛体オブジェクトをそれぞれ事前計算した Signed Distance Field Volumes から Distance Field Ambient Occlusion を作成する機能があります。Distance Field Ambient Occlusion は動的シーンの変更に対応しているので、剛体メッシュの移動あるいは非表示が可能となり、オクルージョンにも影響を与えることが可能です。

クリックしてフルサイズ表示。

詳細は Distance Field Ambient Occlusion の使用方法 をご覧ください。

事前計算されたスカイライト

ベイクされたライティングを Static または Stationary Sky Light で使う場合、ライティングとシャドウイングのデータはライトマップに格納されます。このセクションでは、 ライトマス がサポートするこれらの機能について説明します。

Static Sky Light の指向性の改善

4.18 より前の Unreal Engine 4.18 では、スカイライトは三次の球面調和関数 (Spherical Harmonic) でライトマスに表現されていましたが、日の出や日没のディテールはキャプチャしていませんでした。 フィルタリングされたキューブマップを使って、デフォルト設定でより高い解像度が得られるようになりました。さらにライトマスは、エイリアシングを避けるために、 Final Gather のレイの大きさに応じて適切な キューブマップ テクスチャの MIP を選択します。

[Engine Content] > [MapTemplates] > [Sky] から [SunsetAmbientCubemap] では、この種類のインタラクションの素晴らしいサンプルを見ることができます。

三次元の球面調和 | (前)

フィルタ処理されたキューブマップ | (後)

開始オフィスレベルを使用して改善した例 (Epic の Robo Recall より)

明るさと色のバリエーションが多いスカイライトのキューブマップで遮蔽度がかなり高いシーンの場合にこの違いが顕著になります。

Camera Obscura

Static Sky Light の方向性が向上すると、開口部を十分に小さくすることでピンホール カメラ エフェクト (Camera Obscura ) を再現することができます。 開口部が小さくなるほど、スカイライトの指向性は高まります。

スカイライトのソース キューブマップ

結果のライトビルド

画像をクリックしてフルサイズ表示

画像をクリックしてフルサイズ表示

Stationary Sky Light のベント法線

ライティングとは別にライトマスが焼き付けたスカイライトのシャドウイングは、Bent Normal と呼ばれる指向性オクルージョン情報を格納しています。これは テクセルから最もオクルードされたいない方向への方向です。ほぼオクルードされたエリアは、サーフェス法線ではな Sky Light に対してこの方向を使います。それによりクラックの質が改善されます。

Static Sky Light アンビエント オクルージョンのみ

ベント法線ありの Stationary Sky Light

詳細は「ベント法線マップ 」を参照してください。

複数バウンスの設定

スカイライトの間接光を複数回バウンスさせる設定は、[World Settings] > [Lightmass][Num Sky Lighting Bounces] で行います。

LightmassSettings.png

使用するスカイライトのバウンス回数の設定

Number of Bounces: 1

Number of Bounces: 10

スカイライトの複数バウンスの効果を得るには、ほとんどのケースでマテリアルのディフューズの値を高くする必要があります。例えば、ディフューズが .18 (18% グレイ) の場合、2 回目のスカイライトのバウンスはライトが放射するエネルギーの .18^3 = .006 しか寄与せず、 これはごくわずかなものです。例えば、ディフューズが 0.5 の場合、2 回目のスカイライトのバウンスはライトが放射するエネルギーの 0.125 寄与し、顕著なものになっています。

バウンスを追加する毎に分散できないビルドの時間が増えるため、注意深く使用してください。

プロパティ

Sky Light コンポーネントのプロパティは、Light と Sky Light の 2 つに大きく分類されます。これらはアクタの [Details] パネルからアクセスすることができます。

SkyLightSettings.png

プロパティ

説明

Source Type

遠くのシーンをキャプチャし光源として使用するか、あるいは特定のキューブマップを使用するかを設定します。シーンをキャプチャすると、スカイライト位置から SkyDistanceThreshold 値よりも遠方にある対象がすべて含まれます。

SLS Captured Scene

キャプチャしたシーンからスカイライトを構築します。スカイライト位置から SkyDistanceThreshold 値よりも遠方にある対象がすべて含まれます。

SLS Specified Cubemap

指定したキューブマップからスカイライトを構築します。

Cubemap

Source Type が SLS_SpecifiedCubemap に設定されている場合、天空光を使用するようにキューブマップを指定します。

Source Cubemap Angle

Source Type を SLS Specified Cubemap に設定した場合にソース キューブマップを回転させる角度です。

Cubemap Resolution

処理された最上部のキューブマップ MIP の最大解像度です。サイズは 2 の累乗にしなければいけません。

Sky Distance Threshold

そこからはどのジオメトリも空の一部として見なされるスカイライトからの距離です (反射キャプチャ でも使用されます)。

Affects World

ライトがワールドに影響を及ぼせるのか、あるいは無効なのかを設定します。

Cast Shadows

ライトにシャドウをキャストさせるかを設定します。

Indirect Lighting Intensity

ライトからの間接光の効果をスケーリングします。0 にするとこのライトのグローバル イルミネーション (GI) を無効にします。

Volumetric Scattering Intensity

このライトからのボリュメトリック スキャタリングの強度です。Intensity と Light Color を調節します。

Capture Emissive Only

エミッシブ マテリアルのみをキャプチャします。すべてのライティングをスキップするため、キャプチャが軽くなります。Capture Every Frame の使用時に推奨します。

Lower Hemisphere is Solid Color

下半球から放たれる全てのライトをゼロに設定するかどうかを決めます。下半球からの光の漏れを防ぐのに便利なプロパティです。

Lower Hemisphere Color

下半球の色を選択するためにカラーピッカ^-を使用します。

Casts Static Shadows

静的オブジェクトからライトにシャドウをキャストさせるかを設定します。 また、Cast Shadows を True に設定することを要求します。

Casts Dynamic Shadows

動的オブジェクトからライトにシャドウをキャストさせるかを設定します。 また、Cast Shadows を True に設定することを要求します。

Affect Translucent Lighting

ライトが透過に影響を与えるか否かを設定します。多数の小さいライトがある時に無効にすると GPU 時間を短縮することができます。

Transmission

スカイライトからのライトがサブサーフェス スキャタリング プロファイルを持つサーフェスの中を透過するかどうかを決定します。ライトは Movable(可動) に設定する必要があります。

Cast Volumetric Shadow

ライトが Volumetric Fog を投影するかどうか設定します。

Cast Deep Shadow

ライトが高品質のヘアストランド セルフシャドウをキャストするかどうかを決定します。このオプションを有効にすると、このライトに対して GPU 負荷が追加されます。

Cast Ray Traced Shadows

ライト シャドウをシャドウマッピングまたはレイトレースで計算するかどうかを設定します (使用可能な場合)。

Affect Ray Tracing Reflections

レイトレースによるリフレクションが有効の場合、ライトが反射のオブジェクトに影響を与えるかどうかを設定します。

Affect Ray Traced Global Illumination

レイトレース によるグローバル イルミネーションが有効の場合、ライトがグローバル イルミネーションに影響を与えるかどうかを設定します。

ムーバブル オブジェクトからのシャドウイング

ムーバブル オブジェクトから背景へのソフト シャドウイングは、スケルタル メッシュへの Capsule Shadows の使用、または 剛体メッシュへの Distance Field Indirect Shadowing の使用によって実現できます。そのためには、正しく機能するように別途設定が必要です。

制限事項

以下は、Sky Light (スカイライト) と併用すると便利ですが、まだ実装されていない機能です。

  • 可動オブジェクト (キャラクタ) から環境へのソフト シャドウイング。

  • Stationary (固定) および Movable (可動) バージョン向けのシーンの動的再キャプチャSkyLightComponent 上にある RecaptureSky() と呼ばれるブループリント機能は使用可能ですが、処理落ちが発生します。

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback