Flow-Developers

Raspberry Pi, Raspbian, python, ROS, IoT, 電子工作, 機械学習, Deep learning, ライフハック

THETA Z1で撮影したHDRI(exr形式)は, BlenderでHDRI(hdr形式)に変換して,UE5で色々設定すればいい感じに使える

THETA Z1で撮影したHDRI(exr形式)は、そのままではUE5にインポート出来ません。HDRI(hdr形式)に変換する必要があるのですが、BlenderでHDRI(hdr形式)に変換すると簡単だったので、手順を紹介します。

  • BlenderでHDRIを使う時と同じ手順で、 THETA Z1で撮影したHDRI(exr形式)を「環境テクスチャ」として開く

  • レンダープロパティ>レンダーエンジン>Cycles に設定

  • カメラのオブジェクトデータプロパティ>タイプ>パノラマ状に設定、カメラのオブジェクトデータプロパティ>パノラマタイプ>正距円筒図に設定。

  • 出力プロパティ>フォーマット>解像度X,Y を設定( THETA Z1のHDRI撮影モードで撮影したexrデータは,4096x2048とすると取り回しがラク

  • HDRIの正面向きを任意に合わせるため、カメラの向きを調整(位置 - X:0,Y:0,Z:0, 回転 - X:90,Y:0,Z:180)

  • 画像レンダリングして、Radiance HDR形式で書き出せば、HDRI(hdr形式)を保存できる

  • UE5で使う時は、保存したHDRI(hdr形式)をUE5にインポートした後、テクスチャエディタで、[Maximum Texture Size] を、インポートした HDR 画像の解像度の大きい値 (この例では 4096) に一致させ、 [Mip Gen Settings] を [NoMipmaps] に設定する

  • HDRI backdropのプラグインをONにして、UE5を再起動したのち、HDRI backdropにマテリアル選択で先ほどの、HDRI(hdr形式)を設定する

  • HDRI backdropにマテリアルを設定するだけでは、ライティングがActorに反映されないのでHDRI backdropのサイズを「1500」以上にする

  • HDRIを使う場合、Lumenは正しく機能しないのでプロジェクト設定でGIとReflectionをNoneにする(PostProcessVolumeでLumenのGIとReflectionをNoneにしても良い)

  • レベルに配置したHDRI backdropのDetailsの中に、「SkyLight」があるのでそれを選択して、Light->sourse Typeを「SLS Specified Cubemap」に変更する。

  • 上記のHDRI backdropのDetailsの中に、「SkyLight」にもcubemapを設定できるので、こちらにも先ほどの、HDRI(hdr形式)を設定する。これでライティングが正確にActorに反映される!「SkyLight」の強度を使用してシーンを照らすことができる!

  • パス トレースを実行しているときに白い点が目立つ場合がある。それを最小限に抑えるには、PostProcessVolumeが必要なのでレベルに配置して、PostProcessVolumeの影響がレベル全体に効くようにInfinite Extent (unbound)にチェックをいれる

  • パス トレースを実行しているときに白い点が目立つ場合がある。それを最小限に抑えるには、PostProcessVolumeで「max path exposure」を3.0程度に減らす

以上で、THETA Z1で撮影したHDRI(exr形式)は, BlenderでHDRI(hdr形式)に変換して,UE5で色々設定すればいい感じに使えます。

参考文献

note.com

docs.unrealengine.com

forums.unrealengine.com

www.linkedin.com

qiita.com