暗い通路を作ったら、雰囲気は出たけれど、どこへ進めばよいか分からなくなった。全体を明るくすると、今度は暗い場所らしさが消えてしまいます。
そんなときは、明るさを一括で上げるより、光に役割を持たせてみましょう。壁際のランプで空間の印象を作り、奥の扉に光を当て、足元だけは見失わないようにする。この記事では、シンプルな通路へ3つのライトを足しながら、暗さを残して、見せたいものを見せる 調整を試します。
この記事でわかること
- Directional・Point・Spot・Rect Lightの使い分け
- Lumenが作る照り返しと、ライトそのものの違い
- 露出を固定して、ライトの変更を比べる方法
- 3灯を1つずつ消して、それぞれの役割を確かめる実践
光の出方で、ライトを選ぶ
「アクタを配置(Place Actors)」の「Lights」から、レベルへライトを追加できます。まずは、直接ものを照らす4種類を押さえましょう。

| ライト | 光の出方 | 使う場面 |
|---|---|---|
| Directional Light | 同じ方向から平行に届く | 太陽や月明かり |
| Point Light | 1点から全方向に広がる | 電球、松明、たき火 |
| Spot Light | 1点から円錐状に広がる | 懐中電灯、扉への誘導 |
| Rect Light | 四角い発光面を持ち、前方を照らす | 天井パネル、窓明かりの表現 |
Directional Lightは遠くの太陽を扱うような光なので、位置を動かしても光の向きは変わりません。 回転を変えると、影が伸びる方向や長さが変わります。低い角度から当てれば、夕方ら しい長い影を作れます。
Point・Spot・Rect Lightは、その場所から周囲を照らします。まずは Intensity(光の強さ) と Attenuation Radius(減衰半径) を分けて覚えましょう。
Attenuation Radiusは、そのライトの直接光が届く範囲の上限です。大きくすると遠くまで照らせる範囲が広がりますが、遠い面が必ず明るくなるわけではありません。距離による光の弱まりや、途中の遮蔽物も影響します。

図の球状の範囲は、ライトを選択したときの目印です。ゲーム中に球が描かれるわけではありません。また、Lumenによる照り返しは、この直接光の範囲を越えて見える場合があります。
Rect Lightの四角い面は、金属などへの映り込みにも表れます。影の柔らかさは使用する影の方式にもよるので、「四角を大きくすれば、どの設定でも同じように柔らかい影になる」とは限りません。
Lumenは、当たった光の続きを計算する
ライトから壁へ直接届く光を 直接光、壁や床で跳ね返って別の場所を照らす光を 間接光 と呼びます。窓辺の床が明るくなり、その照り返しで天井もうっすら見える、といった光です。
この間接光を計算する仕組みが GI(グローバルイルミネーション) です。UE5の Lumen は、光や物体の変化に合わせてGIを更新し 、周囲の映り込みも計算します。

白い光が赤い壁に当たると、その近くの床が赤みを帯びることがあります。壁の色を反映した光が、床へ返ってくるためです。Lumenは光源を勝手に増やすのではなく、そこにある光が、さらにどこを照らすか を計算します。光がない部屋を自動で明るくする機能ではありません。
「Edit」→「Project Settings」→「Rendering」で、次の2項目を確認できます。
| 設定 | Lumenにすると扱うもの |
|---|---|
| Dynamic Global Illumination Method | 壁や床からの照り返し |
| Reflection Method | 金属や床などへの映り込み |
以下の実践は、デスクトップ向けのThird Personテンプレートで、この2つを Lumen にした構成を使います。すべてのテンプレート・描画方式で同じ設定になるわけではないので、作成後に確認してください。
Sky Lightとの違い
Sky Light は、空や周囲の環境から届く光を扱うライトです。屋外の日陰を、空からの光で照らす役割があります。
Lumenでは空の光が建物に遮られることも考慮されるため、Sky Lightを置いても、閉じた洞窟の奥まで一様には明るくなりません。また、周囲の空を取り込む設定なのに空を消したり、環境画像を指定する設定で画像を空欄にしたりすると、 期待した光を得られません。
今回の通路では、配置した3灯の違いを比べるためSky Lightを使いません。屋外を作るときに、太陽役のDirectional Lightと組み合わせて試してみましょう。
Mobility:実行中に何を変えられるか
ライトの詳細パネルにある Mobility は、ゲーム中に移動できるか、色や強さを変更できるかを決めます。事前に光を計算する方式を使うときは、その計算への参加の仕方にも関わります。

| Mobility | ゲーム中の変更 | 今回の扱い |
|---|---|---|
| Static | 移動・色・強さを変更しない | 使わない。Lumen GI有効時はStaticライトの光が無効になる |
| Stationary | 位置は固定し、色や強さを変えられる | Lumenでも使えるが、今回はMovableへ統一 |
| Movable | 位置・向き・色・強さを変えられる | 3灯ともこれを使う |
光を事前に計算し、画像などへ保存しておくことを ベイク(焼き付け) と呼びます。動かない背景の光を保存する画像が ライトマップ です。Lumen GIを有効にすると、このベイク済みライトマップの光は使われません。
今回はMovableとLumenで、その場の変更を見ながら調整します。「Build Lighting 」で焼き付ける作業は不要です。負荷はライトの数や影の設定にも左右されるので、Mobilityの名前だけで軽い・重いを決めないようにしましょう。
露出を固定して、変化を比べやすくする
ライトを強めた直後は明るくなったのに、少し待つと明るさが戻る。こう見えるときは、自動露出(Auto Exposure) が働いているかもしれません。
露出 は、カメラが画面をどれくらい明るく見せるかの調整です。暗い部屋から屋外へ出たとき、まぶしさが徐々に落ち着くような変化を、自動露出で表現できます。

ライトを変えながら露出も動くと、何が明るさを変えたのか比べにくくなります。そこで実践では、露出を一定にしてから照明を調整します。
- 「アクタを配置」で
Post Process Volumeを検索して追加する。 - 詳細パネルの「Infinite Extent (Unbound)」をオンにする。
- 「Lens」→「Exposure」を開き、「Metering Mode」の左のチェックを入れて
Auto Exposure Histogramを選ぶ。 - 「Min EV100」「Max EV100」の 両方の左のチェック を入れ、どちらも
1.0にする。 - 「Exposure Compensation」も左のチェックを入れ、
0にする。
Post Process Volume は、画面の明るさや色などの調整をまとめて持つActorです。Unboundをオンにすると、箱の内側だけでなくレベル全体へ設定を適用できます。各項目の左のチェックは、「このVolumeでその設定を上書きする」という意味です。

MinとMaxを同じにすると、自動露出が調整する幅がなくなります。1.0 は今回の試作の出発点で、どのレベルにも合う値ではありません。固定値を小さくすると明るく、大きくすると暗くなる方向へ変わります。
古いプロジェクトなどで「Min Brightness」「Max Brightness」と表示される場合も、両方を同じ値にすると固定できます。ただしEV100とは数値の意味が異なるため、同じ 1.0 で同じ明るさになるとは限りません。
エディタのビューポートだけ独自の露出にしていることもあります。表示モードの「Exposure」で「Game Settings」を有効にし、最終的にはPlay中の見え方で確認しましょう。画面の一部を調整するLocal Exposureなどは、別の設定として残る場合があります。
実践:3つの光で通路と扉を見せる
作るのは、壁際が暖かく 照らされ、奥の扉が目に入り、足元もうっすら見える通路です。洞窟や倉庫の照明を考えるための試作なので、形はCubeで十分です。

1. 同じ大きさの通路を用意する
Third Personテンプレートのデスクトップ向けプロジェクトで、「File」→「New Level」→「Empty Level」を作り、L_LightingPractice として保存します。ここには、最初から空やライトはありません。
Lumenの2項目を確認し、ビューポートの品質設定「Scalability」で「Global Illumination」と「Reflections」を High または Epic にします。低い品質設定では、Lumenが無効になったり別の計算へ切り替わったりするためです。
「アクタを配置」→「形状(Shapes)」の 標準のCube を使い、次の部品を置きます。標準Cubeは一辺100cmなので、Scaleの 6 は6mになります。位置は「Location」、大きさは「Scale」に入力します。すべてのRotationは 0、床や壁のMobilityは Static のままで構いません。Staticのメッシュ と、先ほどの Staticのライト は別の設定です。
| 部品名 | Location (X, Y, Z) | Scale (X, Y, Z) |
|---|---|---|
| Floor | (0, 0, -10) | (6, 4, 0.2) |
| Ceiling | (0, 0, 310) | (6, 4, 0.2) |
| Wall_Left | (0, -210, 150) | (6, 0.2, 3) |
| Wall_Right | (0, 210, 150) | (6, 0.2, 3) |
| Wall_Back | (310, 0, 150) | (0.2, 4.4, 3) |
| Door_Target | (290, 0, 120) | (0.1, 1, 2.4) |
床の表面はZ=0、通路内は幅4m・長さ6m・高さ3mです。Locationの数値はcm単位です。手前のXがマイナス側は開けておきます。Door_Targetは照らす目印の板で、開閉機能は作りません。

最初はCubeの標準マテリアルで進めます。光の違いを比べたいので、発光する素材や真っ黒な素材へは変えないでください。
Player Startを (-200, 0, 100)、Rotationを (0, 0, 0) に置きます。「World Settings」の「GameMode Override」で BP_ThirdPersonGameMode を選び、テンプレートのキャラクターで歩けるようにします。最後に、前の節のPost Process Volumeをこのレベルへ1つ置いて露出を固定します。
暗くて配置しづらい間はビューポートを「Unlit」にすると作業できます。Unlitはライトの結果を表示しないモード なので、照明を確かめるときは「Lit」へ戻してください。
2. Point Lightで壁際に暖かい光を作る
Point Lightを置き、Light_Warm と名付けます。通路の手前寄り、左壁から少し離れた位置にあるランプの光です。
| 項目 | 値 |
|---|---|
| Location | (-50, -140, 180) |
| Mobility | Movable |
| Intensity Units | Candelas (cd) |
| Intensity | 50 |
| Attenuation Radius | 400 |
| Use Inverse Squared Falloff | オン |
| Light Color | RGB欄で (1.0, 0.6, 0.3) |
Light Colorの色見本をクリックすると色を選べます。RGBは赤・緑・青の成分で、表の数値はカラーピッカーのR・G・B欄へ入力する値です。0〜255の値やHex欄への入力ではありません。
cd(カンデラ)は光の強さの単位です。今回の数値はcdでそろえます。「Use Inverse Squared Falloff」は、離れるほど光が弱くなる計算を使う設定です。細かい式より、まず「強さ」と「届く範囲」を別々に触ることを意識してください。
壁際と床に暖かい色が出れば、この段階は成功です。ライトのアイコンは実行中には表示されません。ランプの本体や炎を見せたい場合は、後でモデルやエフェクトを追加します。

図は3灯の大まかな位置関係です。正確な配置には各表のLocationを使います。まずPoint Lightだけを置き、その後、残りの2灯を順に加えてください。
3. Spot Lightで奥の扉へ視線を誘導する
Spot Lightを Light_Door と名付け、通路 の中央から奥の扉へ向けます。
| 項目 | 値 |
|---|---|
| Location | (-50, 0, 240) |
| Rotation | Pitch(Y)-20、Yaw(Z)0、Roll(X)0 |
| Mobility | Movable |
| Intensity Units / Intensity | Candelas (cd) / 200 |
| Attenuation Radius | 700 |
| Use Inverse Squared Falloff | オン |
| Inner Cone Angle / Outer Cone Angle | 15 / 25 |
| Light Color | 白 |
Spot Lightは、選択したときの円錐の中心線が照らす方向です。上の回転値では、奥の扉へ少し見下ろす向きになります。円錐が手前を向いたり、天井に埋まったりしていないか確認します。
Inner Cone Angle は中心の明るい範囲、Outer Cone Angle は光が消える外側の範囲を決めます。その間で光が弱くなるため、2つの差が円錐のふちのぼけ方になります。物体が落とす影の柔らかさとは別です。

扉の板が周囲より目立つようになれば成功です。空中に光の円錐そのものが見えなくても正常です。ここでは霧を置かず、扉や床へ当たった光 を見ています。
4. Rect Lightで、足元を少しだけ見やすくする
ここまでで通路の雰囲気と目標はできています。手前 の床が暗すぎるときに、天井付近から弱い補助光を加えます。
| 項目 | 値 |
|---|---|
| 名前 | Light_Fill(Rect Light) |
| Location | (-100, 80, 260) |
| Rotation | Pitch(Y)-90、Yaw(Z)0、Roll(X)0 |
| Mobility | Movable |
| Intensity Units / Intensity | Candelas (cd) / 5 |
| Attenuation Radius | 600 |
| Source Width / Source Height | 100 / 100 |
| Light Color | RGB欄で (0.65, 0.8, 1.0) |
Rect Lightは片側を照らします。選択したときの向きを確認し、天井ではなく床へ向けます。ここでの100cm四方は発光面の大きさで、照らす範囲の上限を決めるのはAttenuation Radiusです。
青みは控えめにし、Point Lightの暖かさと扉の光が主役のまま残る程度に調整します。表の数値は出発点なので、暗ければFillのIntensityを少し上げ、通路全体が均一に明るくなったら下げましょう。3灯とも「Cast Shadows」はオンのままで始めます。
5. 1灯ずつ消して、役割を確かめる
Playして、入口から扉へ歩きます。壁際の暖かさ、目立つ扉、見失わない床がそろっていれば完成です。本文の図は生成した完成イメージなので、実際の明るさや影は使用環境に合わせて調整してください。
確認後はPlayを止め、各ライトのIntensityを一時的に 0 にして比べます。毎回1灯だけを消し、元の値へ戻してから次のライトを試す と、役割を見分けられます。
| 消すライト | 見る変化 |
|---|---|
| Light_Warm | 壁際の暖かさと、その周囲への照り返しが減る |
| Light_Door | 扉が周囲へ埋もれ、進む先を見つけにくくなる |
| Light_Fill | 手前の床やキャラクターが暗くなる |
どのライトを消しても変化が分かりにくい場合は、ほかの光が強すぎるか、そのライトが面に届いていない可能性があります。明るい光を足し続けるより、1つずつ役割を確かめるほうが調整しやすくなります。
光が思ったように見えないとき
原因を1つに決めつけず、画面全体の問題か、特定のライトだけの問題かを分けて確認します。
| 症状 | 先に見るところ |
|---|---|
| ライトを変えてもまったく変化がない | ビューポートがLitか、ライトのIntensityが0でないか、MobilityがMovableか |
| 壁は明るいのに床へ届かない | ライトが壁や天井に埋まっていないか、床がAttenuation Radiusの内側か |
| Spot / Rectだけ照らせない | ライトが向く方向。Spotは円錐が対象に重なっているか |
| 明るくした直後に、画面が暗く戻る | ExposureのMin/Maxの値と上書きチェック、ほかのVolumeやカメラの設定 |
| エディタとPlay中の明るさが違う | ビューポートのExposureがGame Settingsを使っているか |
| プレイヤーが出ない・歩けない | Player Start、GameMode Override、床との重なり |
| 直接当たる光はあるが、照り返しが弱い | Lumen GIと品質設定、壁の色や厚さ、反射する面が光を受けているか |
Lumenの Software Ray Tracing は、物体までの距離を近似したデータで光の経路を調べます。「Project Settings」→「Rendering」の Generate Mesh Distance Fields が必要で、切り替えたら指示に従ってエディタを再起動します。薄すぎる壁で光が漏れやすいため、今回の壁は厚さ20cmのCubeにしました。
対応GPUを使う Hardware Ray Tracing という経路もありますが、この入門のために切り替える必要はありません。光源・向き・範囲・露出を先に確認し、描画方式の調整は問題が残るときに進めましょう。
おまけ:先に知っておくと良いこと
照り返しと「光のにじみ」は別
発光する Emissive マテリアルも、Lumenを通して周囲を照らせます。ただし、小さくて極端に明るい面はノイズが出やすいため、確実に照らしたい場所にはライトを併用すると調整しやすくなります。
一方、明るいものの周りが画面上でぼんやり広がる Bloom は、画面の仕上げに使う別の効果です。床を照らすことと、画面で光がにじんで見えることを分けて考えましょう。素材の設定はマテリアル入門、露出やBloomはPost Process Volumeの記事へ続きます。
影と品質は、見た目と負荷を一緒に比べる
動くライトや影を増やすと負荷が上がることがあります。不要な影を減らす、光の範囲を必要な場所 へ絞る、といった調整から始めます。ただし影を切ると、壁の向こうまで光が回って見えるなど、意図しない変化も起こり得ます。
少し慣れたら、同じ位置でカメラを止め、品質設定の High と Epic を比べてみてください。画面の違いと、コンソールに stat gpu と入力したときのGPU時間を記録します。GPU時間は、画面を描く処理にどれくらい時間がかかっているかを見る数値です。詳しい読み方は計測の記事で扱います。
多数の動的ライトを扱うMegaLightsのような仕組みもありますが、対応環境や描画方式で使える機能が変わります。まずは、この通路の3灯がそれぞれ何を見せているかを説明できる状態を目指しましょう。
まとめ
ライトを選ぶときは、太陽のように一方向から照らすのか、電球のように広げるのか、扉へ絞って当てるのかを考えます。光の強さと届く範囲を分けて調整し、その光の続きとしてLumenの照り返しを見ます。
暗い空間でも、すべてを均一に明るくする必要はありません。進む先、近くの壁、足元に必要な光を置き、1灯ずつ消してみましょう。「この光がないと何が見えなくなるか」が分かれば、次の部屋でも役割を決めて照明を組み立てられます。