ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
この記事の要点
- まず「Lumen が動いているか」を切り分ける。スケーラビリティ設定と Post Process Volume による上書きが二大原因。
- Lumen は動的 GI なので、ライトの Mobility が Static のままだと間接光として期待どおりに働かない。
- 距離フィールドが生成されていない、あるいは解像度が足りないメッシュは Lumen の世界に正しく載らず、暗さや光漏れの原因になる。
- 半透明マテリアルや、極端に薄い・小さいオブジェクトは Surface Cache に載りにくく、エミッシブが GI に寄与しないことがある。
- 反射が映らないときは、反射方式の設定・粗さの上限・画面外の情報が Lumen Scene にあるかの 3 点を確認する。
Lumen を有効にしたのに屋内が真っ暗になる、金属を置いても何も映り込まない、といった相談は非常に多いものです。原因は 1 つではありませんが、確認する順序を決めておくと切り分けは一気に楽になります。この記事では「設定 → ライト → メッシュ → マテリアル」の順に、上流から潰していく手順を整理します。
1まず Lumen が動いているかを確認する
「Lumen が暗い」と思っていたら、実は Lumen 自体が動作していなかった、というケースが相当な割合を占めます。次の 4 点を順に確認してください。
- プロジェクト設定の描画方式:「編集 → プロジェクト設定 → Engine → Rendering」を開き、Dynamic Global Illumination Method と Reflection Method が Lumen になっているかを見ます。片方だけ Lumen という状態は珍しくありません。
- スケーラビリティ設定:エンジンのスケーラビリティでグローバルイルミネーションや反射の品質を最も低い段階に落とすと、Lumen は動作しません。負荷対策で一時的に下げたまま忘れている、という事故が起きやすい箇所です。
- Post Process Volume による上書き:レベル内の Post Process Volume は Global Illumination と Reflections の方式そのものを上書きできます。プロジェクト設定は Lumen なのに、ボリューム側でスクリーンスペース系や None に変えられていないか確認します。Infinite Extent(無限範囲)が有効なボリュームは、離れた場所に置かれていても効いてしまうので見落としやすいです。
- レンダリング構成:Lumen は遅延シェーディング(ディファード)が前提です。前方シェーディングを有効にした構成や、モバイル向けのレンダリングパスでは利用できません。VR 向けにテンプレートを組んだプロジェクトなどは、この設定が最初から前方シェーディングになっている場合があります。
ビューポートの表示モードにある Lumen 関連のビジュアライズ(Lumen Scene や Surface Cache)に切り替えると、Lumen がシーンをどう認識しているかを直接見られます。ここに何も映らない、あるいはビジュアライズ自体が選べないなら、上の 4 点のどれかで止まっている可能性が高いです。
2ライト側の確認
Lumen が動いていることを確認できたら、次は光源そのものを疑います。ライティング の基本設定が Lumen の前提と噛み合っていないパターンです。
| 確認項目 | 症状 | 対処 |
|---|---|---|
| Mobility が Static | 直接光は出ているのに、まわりへの照り返しがまったく出ない | Movable もしくは Stationary に変更する。Lumen は動的 GI なので、ベイク前提の Static ライトは想定外の組み合わせになる |
| スカイライトがない | 影の中や日陰が真っ黒に沈む。屋外なのに空の色が回り込まない | Sky Light を配置する。空の見た目に追従させたい場合は Real Time Capture を使う |
| 減衰半径が小さい | ポイントライトのすぐ近くしか光らず、部屋全体が暗い | Attenuation Radius を広げる。ただし広げるほど影響を受けるオブジェクトが増え、負荷も上がる |
| 強度の単位の取り違え | 数値を上げても思ったほど明るくならない、逆に極端に飛ぶ | Intensity Units(カンデラ/ルーメンなど)を確認する。単位が違えば同じ数値でも意味が変わる |
| 露出の自動調整 | 実は Lumen ではなく露出のせいで暗く見えている | Post Process Volume で露出を固定し、明るさの比較を同じ条件で行う |
特に最後の露出は要注意です。オートエクスポージャーが効いていると、シーンの平均輝度に合わせて自動的に明るさが調整されるため、「設定を変えたのに変化がない」「別のレベルと比べられない」という状況が生まれます。ライティングを詰めるときは、まず露出を固定した状態で比較するのが鉄則です。
3メッシュ側の条件
Lumen はシーンをそのままトレースしているわけではなく、距離フィールドと Surface Cache で構成された簡略表現をトレースしています。ここに正しく載っていない メッシュ は、光を受けも返しもしません。
- 距離フィールドが生成されているか:プロジェクト設定の Generate Mesh Distance Fields がオフだと、ソフトウェアレイトレーシングは頼るデータがなくなります。この設定を変えるとシェーダの再ビルドとエディタ再起動が必要です。
- 個々のメッシュで無効化されていないか:スタティックメッシュ側の設定やアクタのライティング設定で、距離フィールドの生成や距離フィールドライティングへの影響を切っている場合があります。特定のオブジェクトだけ影が出ない・光を返さないときはここを見ます。
- 距離フィールドの解像度が足りているか:スタティックメッシュエディタの Distance Field Resolution Scale を上げると、より細かい形状が距離フィールドに反映されます。細い柱や複雑な造作が「無いもの」として扱われている場合に有効です。上げるとメモリを消費するので、必要なアセットだけに適用します。
- 形状に厚みがあるか:距離フィールドは形状を近似するため、紙のように薄い板は表現しきれず、光が壁を突き抜ける「ライトリーク(光漏れ)」の主因になります。壁や床は、面ではなく厚みのあるボックスとして作るのが Lumen 前提のモデリングにおける基本方針です。
- Lumen Scene に取り込まれているか:小さすぎるオブジェクトは、負荷とのバランスから Lumen Scene に載らないことがあります。小物からの照り返しが必要なら Lumen Scene Detail を上げますが、負荷は増えます。
- 遠すぎないか:Lumen Scene View Distance や Max Trace Distance を超えた先のジオメトリは、間接光の供給源になりません。広大な屋外で遠景からの反射光が届かないときはこの値を見直します。
大規模レベルでは、ストリーミングやレベルオブディテールの状態も絡んできます。関連する事象として 古いHLODアクタを検出、HLODをリビルドする必要があります のような警告が出ている場合、遠景の表示状態そのものが想定と違っている可能性があるため、あわせて解消しておくと切り分けが楽になります。
4マテリアル側の条件
マテリアル の作りも Lumen の見え方に直結します。特に次の 4 つは、知らないと原因にたどり着けない類の落とし穴です。
半透明のブレンドモードは Surface Cache に載らないため、間接光を受けたり返したりする挙動が不透明マテリアルとは異なります。窓ガラスやエフェクトを半透明で作ったうえで「そこから光が漏れてこない」と悩むケースが典型例です。光源として機能させたい部分は、不透明メッシュに置き換えるか、実際のライトを併用します。
エミッシブによる間接光は Surface Cache 経由で計算されるため、対象が Lumen Scene に載っていること、そしてある程度の面積と強度があることが条件になります。小さなランプの発光を GI で頼りにするのは不安定で、実際のポイントライトを併置するほうが確実です。
両面マテリアルは、距離フィールドの生成や Surface Cache のキャプチャと相性が悪く、自己遮蔽や不自然な暗さの原因になることがあります。葉や布の表現で多用しがちなので、暗さが局所的に出ている場合は疑ってみてください。
頂点シェーダで形を動かす表現は、距離フィールドには反映されません。風で揺れる草木や、頂点アニメーションで変形させたメッシュは、Lumen 側では元の位置にある扱いになり、影や照り返しの位置がずれます。
5反射だけが映らないとき
GI は出ているのに反射だけおかしい場合は、確認するポイントが少し変わります。
| 症状 | 考えられる原因 | 確認すること |
|---|---|---|
| 何も映り込まない | 反射方式が Lumen になっていない | プロジェクト設定の Reflection Method と、Post Process Volume での上書きの両方 |
| 画面外のものが映らない | スクリーントレースに依存している状態 | 映したい対象が Lumen Scene に含まれているか。距離フィールドの有無、Lumen Scene View Distance |
| ざらついた面に反射が出ない | 粗さの上限で打ち切られている | Max Roughness To Trace の値を上げる |
| 鏡のような面がぼやける | ソフトウェアトレースと Surface Cache の精度限界 | ハードウェアレイトレーシングとヒットライティングの併用を検討する |
| 反射がざらつく・ちらつく | トレース品質が不足している | Reflection Quality を上げる。カメラが速く動く場面ほど目立つ |
| 特定のオブジェクトだけ映らない | そのメッシュが Lumen Scene に載っていない | Surface Cache のビジュアライズで、対象が正しく表示されているかを見る |
Lumen の反射は、まず画面内の情報を使い、足りない部分を Lumen Scene から補う構造です。そのため「カメラを振ると映り込みが変わる」「画面の端で反射が切れる」といった挙動は、仕組み上ある程度避けられません。厳密な鏡面表現が必要なら、ハードウェアレイトレーシングや平面反射のような別手段を局所的に併用する判断も必要です。
6切り分けのチェックリスト
最後に、実務で使える順序をまとめます。上から順に確認し、原因が見つかった時点で止めてください。下の層から手を付けると、上の層の問題が残ったまま無駄な調整を重ねることになります。
- 露出を固定して、明るさを同じ条件で比較できる状態にする
- プロジェクト設定で GI と反射の方式が Lumen になっているか
- スケーラビリティが低すぎないか
- Post Process Volume が方式を上書きしていないか
- ライトの Mobility が Static になっていないか
- スカイライトが配置されているか
- Generate Mesh Distance Fields が有効か
- Lumen Scene / Surface Cache のビジュアライズで、対象オブジェクトが正しく載っているか
- 壁や床に厚みがあるか(光漏れ対策)
- 問題の面が半透明・両面・ワールドポジションオフセットを使っていないか
- Max Trace Distance や Lumen Scene View Distance がシーン規模に対して足りているか
この順序で確認すれば、Lumen 起因の暗さ・反射不良の大半は原因を特定できます。解決しない場合は、新規レベルに問題のメッシュだけを置いた最小構成で再現するのが確実です。レベル固有の設定なのかアセット固有の問題なのかが一目で分かります。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- Lumen とは?リアルタイムGIの仕組みと有効化
- Lumen が暗い・反射しない時の確認ポイント
- ライトの種類と使い分け(Directional / Point / Spot / Rect)
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- UE5 の Lumen とは|リアルタイムGIの仕組みと有効化手順 NEW 2026-08-03 07:45:20
- UE5 の Lumen が暗い・反射しない|原因と確認ポイント NEW 2026-08-03 07:45:20
- UE5 のライトの種類と使い分け|Directional/Point/Spot/Rect NEW 2026-08-03 07:45:20
- UE5 の Nanite とは|有効化手順と対応条件を解説 NEW 2026-08-03 07:45:20
- UE5 の Nanite が効かない|原因と対処の切り分け NEW 2026-08-03 07:45:20
- UE5 の Nanite と LOD の違い|使い分けの指針 NEW 2026-08-03 07:45:20
- UE5 のマテリアルとマテリアルインスタンス|違いと使い分け NEW 2026-08-03 07:45:20
- UE5 のマテリアルノード|Lerp・Fresnel・Panner NEW 2026-08-03 07:45:20
- UE5 のマテリアルブレンドモード|Two Sided と選び方 NEW 2026-08-03 07:45:20
- UE5 の Enhanced Input 入門|IAとIMCの基本 NEW 2026-08-03 07:45:20
- UE5 の Enhanced Input 実装手順|BPでキー入力 NEW 2026-08-03 07:45:20
- UE5 の旧入力から Enhanced Input へ移行する手順 NEW 2026-08-03 07:45:20
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 2026-06-22 12:19:10
コメントを削除してもよろしいでしょうか?