元フォトグラファーのライティングスーパーバイザーが語るMegaLights
木村 洋一氏は、1985年からフリーランスのフォトグラファーとして活動開始。1998年には3DCGアーティストの仕事も始め、2005年より大手ゲーム会社でライティング・テクニカルスーパーバイザーを務めています。
2025年に開催された「Unreal Fest Seoul 2025」と「Unreal Fest Tokyo 2025」においても同氏は登壇しています。
「Unreal Fest Tokyo 2025」で木村氏が登壇した講演「ライティングのヒント:なぜCGアーティストは光に興味がないのか?」アーカイブ動画
MegaLightsの真骨頂は、すべてのライトを正しいエリアライトにできること
「MegaLights」は、動的なライトを大量にシーンへ配置できるアンリアルエンジンの機能です。Unreal Engine 5.8(以下、Unreal EngineはUEと表記)のPreviewより本機能は正式版へ移行となりました。
木村氏によると、リリース直後にMegaLightsを試した際はシーンによって多少の描画の不具合もあったといい、処理負荷を下げる手段の1つにすぎないと受け止め、普段はオフにしておき局所的に適用するものだと考えていたそう。
しかし、MegaLightsの調査を進めた結果、その解釈には誤解があったと木村氏は語ります。
まず、大量のライトを使っても処理時間が増えないことを指摘。もちろん一定の負荷はかかるものの、その負荷はライトの数に左右されません。ライトの使い方が適切でなく期待通りに描画できない場合も処理負荷が向上するわけでなく、そうした描画の問題自体も、最近のバージョンではほとんど感じなくなったと語ります。
講演で紹介された街の作例では、DirectionalLightとSkyLightのみを使用した状態では、レイテンシーは13.12ms。そこへRectLight160個を追加し、レイトレーシングに切り替えると35.59msへと変化し、その状態でMegaLightsを有効化すると16.16msとなり、十分に実用的な結果であるとの結論へ
ただし、木村氏が何よりも大きいと評価した点は、MegaLightsではすべてのライトをレイトレーシングによる正しいエリアライトにできること。
これはライトのサンプリングの手法そのものが変わっているためで、仕組みの技術的な詳細については、参考資料としてエピック ゲームズ ジャパンの篠山氏による講演「マルチプラットフォームを見据えたグラフィクスのスケーラビリティ戦略」と、同社の澤田氏による「MegaLights入門 – その仕組みと最適化方法について」のスライドが紹介されました。
講演では、デザイナーが実践でMegaLightsをどのように活用できるかに焦点を当て、「エリアライトをたくさん置けると何が変わるのか」という主題を設定。「少数のライトならレイトレースシャドウをオンにしても困らず、これまでどおりライトの数を最小限に絞ればよいのではないか」という考え方に対して見解が示されました。
GIが登場した今もライティングアーティストは必要
議題はここで「そもそも何のためにライトを置くのか」というライティングアーティストの役割に移ります。
グローバルイルミネーション(GI)のなかった時代は、メインとなる直接光が当たらない場所は暗くなってしまうため、暗くなる場所すべてにライトを置いて明るくしていました。この作業は「人力のGI」とも呼ばれ、ときにはAmbientCubeMapで疑似的なGIを与えることもあったそう。いずれも処理負荷を増やさずに適切な画を得るための重要な仕事だったと木村氏は位置づけます。
とはいえ、この方法で窓から日が差す部屋を照らした際は、画として成立してはいるものの、それほど良い描写とはいえない仕上がりで、作業もとても大変だったと振り返ります。
では、LumenなどでGIを使用でき、物理ベースでレンダリングできる今の時代には、こうした人力のライトはもう要らないのではないか。部屋の中の光の振る舞いをGIが正しく再現してくれるなら、ライティングアーティストも不要ではないか。そう木村氏は問いかけます。
実際、建築CGのインテリアのシミュレーションでは、現実の光を再現し、正しく設計した部屋の明るさを顧客に見せて確認してもらうことが目的なので、GIのライティング結果そのままで事足ります。むしろ、勝手にライトを足すとかえって問題が起きてしまうそう。
一方で、GIで適切なバウンス光が得られても物足りないと感じることは多いと木村氏。シミュレーション用途でなければ、たとえば広告用のインテリア写真などであれば、ライトを足してもよいのではと見解を述べました。
ライトを足す前と足した後ではどのような違いが表れるのか、木村氏は2つの画像を例示しました。ライトを足す前の画にもコントラストがあり、そちらを好む人もいるだろうと木村氏は認めつつ、ライトを足したほうが人物が浮き立ち、部屋もきれいで明るい印象になると語りました。
太陽光・天空光・スタンドの光のみを光源として、LumenのGIを適用した例
ひとつ前のスライドで紹介したシーンの各所に、さらにRectLightを足した例
実写の世界で映画やCM、写真撮影などを行う際、現実空間は当然物理的に正しく光で照らされているにもかかわらず、撮影現場では大勢のスタッフがライティングの調整を施しています。その理由は、その場にある光の振る舞いだけでは足りず、描画性・アート性・演出性などを踏まえて画を最適にしたいからだと木村氏は説明します。
「見た目を良くしたい」「美しく、かっこよく見せたい」「重要なものをよく見えるようにしたい」といった理由から、物理的に必然性のない場所にもライトを置いているのです。
物理的に必然性のあるライトと、必然性のない演出用ライト
木村氏はCGのライティングを、「現実に必然性のある光を再現するライト」と、「必然性はないが画を最適にするために使うライト」の2つに分類しました。
必然性のあるライトとは、シーンの中に存在し、当然ライトの効果を有しているべきものを指します。太陽光や天空光、室内の照明器具や夜の街灯などの照明器具、そして炎や看板、モニターなどの光を発するものがこれに当たります。
「必然性のあるライト」を用いた作例。窓の外から当てたDirectionalLightとSkyLightの影響に加えて、電気スタンドの中にPointLightを仕込んで色と明るさを調整。パソコンのモニターの位置にもライトを置き、キャラクターの顔を照らしている
必然性のあるライトのことを、ライティングの用語ではプラクティカルライト(Practical Light)と呼び、これを生かしたライティングをプラクティカルライティングと呼びます。
画面の中にある光源だけで画が成り立つよう、あらかじめ状況を設計するため、質の高いプラクティカルライティングは非常に高度な技術だと木村氏は評します。有名な例として、ロジャー・ディーキンス氏が撮影監督を務めた映画『ブレードランナー2049』を挙げました。
今回の講演で焦点を当てるのは、それとは逆の、非必然のライト(ノンプラクティカルライト)です。シーンの中に光源がない位置から当てるライトで、キャラクターなど主要な対象を見せるためのライトと、建物や室内の描写を整える環境用ライトに分かれます。
とはいえ、キャラクター用のライトは環境にも、環境用のライトはキャラクターにも当たるため、厳密に分けられるものではなく、あくまで使用目的に基づいた区別となります。
光源との明らかな因果関係がない場所に、演出やアートの意図をもってライトを当てることが許される理由として、「それがフィクションであり創作であること」や「見る人がより好ましい画と感じること」が挙げられました。だからこそ、こうしたライトを扱うのがライティングアーティストの腕の見せどころだと木村氏は強調します。
なお、木村氏はここでいう「非必然のライト」を、「補助光(フィルライト)」とはあえて区別しています。補助光はメインのライトが当たらない側の影を補うためのものですが、非必然のライトはそれに限らずさまざまな用途で用いられるため、講演では別種のライトとして扱われました。
非必然のライトは目立たせないように、光源の面積を大きくして柔らかな光へ
木村氏は、非必然のライトを積極的に使うよう勧めつつ、明らかにおかしな方向から光が当たっていると気付かれると不自然な印象を与えてしまうため、さりげなく、ほどよく効かせるよう注意喚起しました。
非必然のライトが見る人に気付かれてしまう例。手前の左下から当てたライトの存在が、影ではっきりと分かってしまう
最近のハリウッド映画のメイキングでは、とても大きな面積のライトで照らしているケースが多く見られると木村氏。
その理由として、木村氏は光の柔らかさを挙げました。光源の面積が小さい光は硬い印象があり、ライトの存在に気付かれやすいのに対して、面積が大きいと柔らかな光となり気付かれにくくなるそう。柔らかい光は照射方向や存在を曖昧にして、なじみやすい、落ち着いた陰影と滑らかな影をもたらすと説明されました。
小さい光源で当てると影がはっきり出て、どこからか光が当たっているという違和感が生まれる。RectLightを2メートルほどの大きさにすると影は消え、シェーディングも滑らかになり、あまり違和感が無く、むしろ見覚えのある画になると木村氏は語る
非必然のライトには、エリアライトの滑らかなシェーディングと柔らかい影が欠かせない、と木村氏は主張しました。
かつては、Lightmassでライトをベイクすれば、こうした柔らかい光を大量に使えたといいます。ライトをベイクしてしまえば、ランタイムで負荷が高いエリアライトでも問題にならなかったからです。一方で、ベイク用のライトの調整は難しく、職人の経験と勘が要るうえ、結果も固定されます。木村氏自身も、ライトのビルドに時間がかかり、結果を見てやり直すのに苦労したと振り返りました。
Lumenではライトをベイクできず、大量のエリアライトをそのまま使うと負荷が嵩むため、この方法はいったん封じられました。
そこでMegaLightsを使えば、再び大量のエリアライトをリアルタイムで使えます。配置や調整は手早く正確に行え、ランタイムでも変更可能。MegaLightsはライティングのゲームチェンジャーであり、非必然のライトをたくさん使用するライティングアーティストの味方だったと木村氏は話しました。
MegaLightsは常時オンでOK。負荷を気にせず、RectLightを大量に配置
ここからは、非必然のライトをエリアライトとして迷わず自由に置けるMegaLightsの強みを、実践でどう生かすかが紹介されました。
最初に提案されたのは、MegaLightsを常にオンにしておくこと(※)。ライトの数などの制約を忘れ、ライティングに集中できます。オフにするのは、ライトの数が少なすぎてMegaLightsの意味がなく、しかも何らかの事情で処理負荷を少しでも下げたいシーンだけとします。
※ UE5.8ではMegaLightsがデフォルトで有効となっている
そのほか、典型的な使い方として挙げられたのが、大量のRectLightで広いシーンを照らす方法です。木村氏によると、屋外の広大な範囲のすべてに、街灯や看板などの光源を適切に置くのは手間がかかるそうで、とくに遠景の少し見えるだけの場所に置くのは効率がよくないとのこと。そうした場所にRectLightを大量に置いても見た目は不自然にならず、調整もずっと楽になります。
RectLightで明るさを調整した作例。照明塔と月明かり、天空光だけでは奥がほとんど真っ暗だったところ、大きなRectLightを数十個、大まかに各所へ置くと、さまざまな構造物が暗すぎず明るすぎない程度に見えるようになり、不自然な影も目立たない結果となった。
木村氏によると、この配置は2〜3時間ほどで完成したそう。街灯を1つずつ丁寧に置いて照らしていくなら、数日はかかり調整も大変だろうと語った
ライトを足さずに、コントラストを抑えたり、SkyLightを強くしたりすることで解決する代案も検討されました。講演で示された例では、PostProcessVolumeのColorGradingでShadowのGammaを1.2に上げ、SkyLightのIntensityを1.4倍に調整。ColorGradingのShadowのGammaを少し上げるのは、暗部の黒つぶれに近いところを持ち上げるのにもっとも簡単で効果的な方法だといいます。
それでも、元の真っ暗な画よりは視界が良好となったものの、依然はっきりとは見えず、人物などのコントラストもゆるんでしまいます。画がフラットで眠たげな印象になるだけで、期待した効果は得にくく、適切なコントラストで計算されたライトを当てたほうが見た目は良くなると木村氏は結論付けました。
エリアライトは、たくさんのライトの集まりに近い
エリアライトは光源が大きさを持ち、その範囲のあちこちから光を発しているもので、PointLightなどの集合体とも捉えることができます。そのため、大きなエリアライトを1つ置いて照らすと、小さなライトをたくさん並べたときと近い見え方になります。
講演では、SourceRadiusを0にしたSpotLightを2m間隔で上下2段に100個並べた画像と、SourceWidthを10000、SourceHeightを1000にしたRectLightを1つだけ置いた画像が例示されました。完全に同じ見た目とはならないものの、効果はかなり似たものとなりました。
街の大量の街灯などによる光の効果を、1つのエリアライトで近似できると説明した形に
PointLightやSpotLightも、SourceRadiusを大きくするとエリアライトとして扱えます。講演では主にRectLightが紹介されましたが、SpotLightやPointLightを使っても構わないとも補足されました。
エリアライトの正しい影は、遮蔽物から離れるほどぼける
MegaLightsは、すべてのライトの影をレイトレーシングで描き出します。これまでは多数のライトの影をレイトレーシングにするのは負荷の面で現実的でなく、実際にはカスケードシャドウマップかVSM(Virtual Shadow Map:仮想シャドウマップ)を使うことが多かったのではないかと木村氏は語ります。
正確なエリアライトの影は、輪郭がShadowCaster(遮蔽物、影を落とす物体)から離れるにつれて少しずつぼけていきます。講演で示された例では、人物の後方4.5mほどからSourceRadiusが10ほどのライトを当てる場合は、VSMでも正しい影を描けましたが、SourceRadiusを40まで大きくすると影に破綻が見られました。この破綻は、r.Shadow.Virtual.ScreenRayLengthを上げることで解消できます。
MegaLightsなら何の調整も施さずとも、遮蔽物に近い部分はシャープに、そこから離れるにつれて滑らかにぼける影を、すべてのライトに付与してくれるとのこと。
Emissiveアセットより、テクスチャ付きのRectLight
LumenとEmissiveアセットの関係についても取り上げられました。
LumenではEmissiveアセットをライトとして使用でき、これを制御するアセットの設定「Affect Dynamic Indirect Lighting」はデフォルトでオンとなっています。ただし、輝度のピーク値が高い場合や、照らされる物から見てEmissiveアセットが小さい場合は、ノイズやアーティファクトの原因になるため、使える場面は限られるといいます。
照らされる物から見て光源が十分に大きく、輝度も高すぎなければ、Emissiveアセットによるライティングも破綻しません。ただ、どんなときなら使えるかを考えるくらいなら、RectLightに置き換えてしまったほうが安心だと木村氏は語りました。
RectLightにはテクスチャも使用できます。MegaLightsはRectLightのテクスチャにも正しく反応し、照らす効果だけでなく、影への影響も含めて反映しますが、ライト自体はテクスチャも含めてカメラに映らないので、光っている物を見せたいときは、代わりになるEmissiveアセットが必要です。
作例として、RectLightとEmissiveの板ポリゴンを同じ場所に同じ大きさで重ね、同じテクスチャを割り当てたシーンが紹介されました。デフォルトのままではEmissiveアセットもLumenの光源として働いてしまうため、Emissiveアセット側のAffect Dynamic Indirect Lightingをオフにし、ディフューズ(拡散反射)のライティングはRectLightだけが受け持つように設定。さらに、反射像が2つになってしまうため、RectLightのSpecularScaleを0にして、EmissiveアセットのLumenの反射を活用しています。
r.MegaLights.Debug 1を実行するとMegaLightsのサンプリングの様子が可視化され、床のある点がRectLightから光を拾っていることを確かめられる。テクスチャの赤い部分からは赤い光が出ており、グラデーションも反映されている
RectLightとVolumetricFogも組み合わせ、空気感のある光を描写
MegaLights・RectLightにVolumetricFogを加えることで、空気感のあるライティングを表現できると紹介されました。とくにRectLightとVolumetricFogは相性がよく、ライトの面積を考慮したVolumetricFogの効果を描き出せます。
光って見せたい物のところにRectLightを置くと、VolumetricFogが反応し、周りも柔らかく強い光で照らせます。こうした表現をしても、MegaLightsのおかげで処理負荷を十分に抑制され、リアルタイムで自由に調整もできるようになったと木村氏は語りました。
VolumetricFogに3Dのノイズテクスチャも使い、霧にむらを付けている
MegaLightsは膨大なライトを配置できるだけでなく、大量のエリアライトにも正しいレイトレーシングの影を付与できます。描画性・アート性・演出性などを踏まえて非必然のライトを使うにはエリアライトが欠かせず、MegaLightsでエリアライトをたくさん使えば、より質の高い、見る人の目を引くライティングを作り出せることが示されました。
MegaLightsを活用して制約のないライティングの世界へ飛び込んでみてほしいと木村氏は呼びかけて、講演を締めくくりました。
MegaLights|アンリアルエンジン公式ドキュメント「Unreal Fest Tokyo 2026」公式サイト
ゲームメーカーズで編集や諸業務に携わっています。『星のカービィ』シリーズと『ポケモン不思議のダンジョン』シリーズが好きです。