今回は、UE4やUE5で、IBL(Image Based Lighting)を行う方法を紹介します。
プリレンダリングでは、ルックデブやライティングで当たり前のように使用するライティング手法ですが、アンリアルエンジンでも同じようにHDRIを使用して、ライティングをすることができます。
基本的には、UE4でもUE5でもやり方は同じですが、UE5で少し異なる部分もあるので、そこも含めて紹介します。
- UE5を使い始めた人
- ライティングアーティストやライティングに興味のある方
- プリレンダリングと同じようにライティングをしたい方
HDRIのインポートについて
![](https://metatimecg.com/wp-content/uploads/2021/08/UE5-HDRI.jpg)
本題の前にUE4、UE5へのHDRIのインポートのついて少し触れたいと思います。
UEでHDRIをライティング等で使用する場合は、「Texture Cube」として、読み込まれている必要があります。
Unreal EngineにHDRIインポートすると、自動でTexture Cube形式になりますが、Texture Cubeになるのは「.hdr」拡張子だけです。
「.exr」は、Texture Cubeとして、読み込まれず、これから説明する方法でIBLとして使用できないので注意してください。
反射がボケる時の対処法
![](https://metatimecg.com/wp-content/uploads/2021/08/image-3.png)
反射がボケる場合は、テクスチャの設定を変えることで、改善することができます。
インポートしたHDRIをダブルクリックで開きます。
Mip Gen Settings を「No Mipmaps」にし
Maximum Texture を使用したい解像度の値にします。
UEには、Mipmapという自動でテクスチャの解像度を調整する機能があります。
そのため、「NoMipmaps」にすることで、その機能をオフにし、解像度が小さくならないようにします。
また、 Maximum Texture の値は、インポートしたHDRIの短辺の解像度が、設定できる一番大きい値になります。
Sky Light を使用する方法
![](https://metatimecg.com/wp-content/uploads/2021/08/IBL-SkyLight.jpg)
1つ目のやり方は「Sky Light」を使用する方法です。
UE4、UE5ともに、こちらが一番簡単な方法です。
しかし、上記の画像の通り、背景としては、表示されません。
背景としても表示される方法は、後ほど紹介します。
こちらは、UE4とUE5で違いはありません。
Sky LightにHDRIを設定する
![](https://metatimecg.com/wp-content/uploads/2021/08/IBL-SkyLight2-1024x576.jpg)
Sky Lightは、Place Actorsなどから、レベルに配置することができます。
![](https://metatimecg.com/wp-content/uploads/2021/08/IBL-SkyLight3.jpg)
Detailsで
Source Type を「SLS Specified Cubemap」にし
CubemapにインポートしたHDRIをセットすることでIBLができます。
反射がボケる場合は、上記で説明したテクスチャの設定を変更した後に、「Cubemap Resolution」の値を上げることで、Sky LightのHDRIの解像度を上げることができます。
また、デフォルトでは、下半球が黒くなっています。
下半球もHDRIを使用したい場合は、「Lower Hemisphere Is Sloid Color」のチェックを外すことで、下半球が単色ではなく、HDRIを使用します。
![](https://metatimecg.com/wp-content/uploads/2021/08/image-4.png)
ちなみにUE5でLumenを使用している場合は、現状、Lumenは、Staticに対応していないので、Mobilityは、StationaryかMovableにしましょう。
HDRI Backdrop を使用する方法
![](https://metatimecg.com/wp-content/uploads/2021/08/UE5-HDRIBackdrop.jpg)
HDRI Backdropは、HDRIによるライティングち同時に画像を背景としても使用することができ、AOやディレクショナルライトなどの影も落とすことができます。
HDRI Backdropの使用方法
![](https://metatimecg.com/wp-content/uploads/2021/08/image-5.png)
HDRI Backdropは、プラグインとして提供されているので、プラグインを有効にする必要があります。
有効にし、再起動するライトにHDRI Backdropが追加され、レベルに配置することで使用することができます。
![](https://metatimecg.com/wp-content/uploads/2021/08/UE5-HDRIBackdrop1.jpg)
Sky Lightと同様にDetailsの「Cubemap」にHDRIをセットして使用します。
ちなみに、こちらは、ブループリントで組まれたもので、中身はSky Lightと背景用の天球メッシュを使用したものです。
![](https://metatimecg.com/wp-content/uploads/2021/08/UE5-HDRIBackdrop2.jpg)
HDRIによっては、背景が歪んでしまうので、Size や Projection Centerの値(特にZ)で歪みを調整することができます。
ライトとしての明るさを調整したい場合は、上記の画像にある HDRI Backdrop の Intensity を調整するのではなく、SKy LightコンポーネントのIntensityを調整するのが、おすすめです。
HDRI Backdrop のIntensityは、背景としてのHDRIも明るさも変わってしまいますが、 SKy LightコンポーネントのIntensity は、ライトとしての明るさのみを変更できます。
UE5で使用する場合
![](https://metatimecg.com/wp-content/uploads/2021/08/UE5-HDRIBackdrop3.jpg)
UE5で、特にLumenを使用している場合は、上記の画像のような見た目になるかと思います。
いくつかの設定を変更することで、改善することができます。
まず、Post Process Volumeを使用し、Lumen のReflectionのクオリティを2以上に上げます。
![](https://metatimecg.com/wp-content/uploads/2021/08/image-7.png)
また、椅子のようにラフネスの値が高いマテリアルがある場合は、コンソールコマンドの「r.Lumen.Reflections.MaxRoughnessToTrace 1」でMax Roughnessの値を1などに上げることで、正しい見た目になります。
現状、UE5でHDRI Backdropが対応していないのかもしれません。
そのため、今後、HDRI Backdrop側の仕様変更で、上記の設定を行わずに済む可能性もるかもしれません。
まとめ
UE4、UE5でIBLを行う方法を2つ紹介しました。
Sky Lightの方が簡単ですが、背景としては表示されません。
HDRI Backdropを使用することで、背景としても表示させ、影も落とすことができます。
その代わりに、現状、UE5で使用する際は、いくつかの設定が必要です。
ただ、HDRI Backdropの背景を綺麗に表示させるのが難しいHDRIもあるので、写真(HDRIではなく)を背景として使用したい場合は、Composureを使うという方法もあります。
UE4でのComposureでBackplateを使ったレンダリングの仕方は、こちらが参考になるかと思います。
最後まで、ご覧いただき、ありがとうございました!
参考になれば幸いです!
コメント
[…] HDRの読み込みについての参考:https://metatimecg.com/ue-ibl/ こんな感じに […]