IBL用のHDR画像を作る方法

2D Graphics

今回はIBL画像でよく使われるHDRIにおいて照明を設定する方法を解説します。この記事の作業を行う事によって、照明情報が設定されておらず違和感のあるレンダリング結果になる画像を修正することも可能ですのでぜひ試してみてください。

以前の記事でHDRやEXRのファイル形式について調べたのですが、この記事を書くキッカケになったのが「画像ファイルに照明情報が書き込まれているのではないか」という疑問からでした。キッカケになった記事については次のリンク先をご参照ください。

HDR画像の仕組み

普通の画像はRGB各8bitで色を表現し、0〜255の整数で色の強さを表現します。対してHDR画像(HDRI)ではRGB各16bitまたは32bitで色と照明を表現します。色の部分は0.0〜1.0の浮動小数点数で表現します。1.0を超える部分については照明情報として表現することになり、今回の作業はこの1.0を超える表現を設定する事が肝になります。

作業方法

照明情報の書き込み作業はAffinity Photo 2で行いました。Photoshop 2023でも作業を試みたのですが、露出調整やカラーピッカーでの確認といった作業がやりづらかったです。Affinity Photo 1(前のバージョン)では一部の作業が異なりますが、作成は問題なく行えます。

360度撮影と各露出の画像抽出

今回の作業では、360度撮影を行うのにInsta360 ONE Rを使用していますが、RSや無印のONEでも問題無いはずです。もしご興味がありましたら、次のリンクからご購入頂ますと励みになります。

通常の写真撮影用と360度撮影用レンズのセットです。

撮影はHDRモードで行います。また、画像の書き出しは「JPG+RAW」に設定してください。

撮影枚数は3枚(2EV刻み)でも問題ありませんが、一応9枚(0.6EV刻み)に設定しました。

設定を調べたところ、3枚4EV刻み、5枚2EV刻み、7枚1.3EV刻み、9枚1EV刻みが最大でした。ダイナミックレンジを最大限確保するなら3枚4EV刻みという選択になりますが、少し検証が必要です。検証した結果についてはこちらの記事をご参照ください。

適正露出で撮影可能なEV値の最大について、リコーのTHETA Z1だと19.9EV(ISO80, F5.6, 1/25000)ですが、Insta 360 ONE Rは15EV(ISO100, F2.0固定, 1/8000)です。カメラの価格が全く違うので、求めるスペックやお財布と相談しながらどちらを購入するか決めたいところです。

タイマーをセットするか、スマホのアプリやリモコンで撮影します。撮影自体はこれで完了です。

PC上でInsta360 Studioを開き、USB接続したInsta360 ONE Rに保存されたDNG形式のファイルを1個開きます。関連するすべての露出のファイルはソフトが自動で読み込んでくれます。

各露出の画像を全て選択、[エクスポート開始]ボタンをクリックし各露出の画像を書き出します。後工程で細かな色調整を行う場合はDNG形式を指定します。これでパノラマ画像が書き出されました。

ファイルを開く際にINSP形式を指定すると、書き出し時にJPEGしか選択できません(選択肢が出ません)。もしDNGを書き出せなかったら、読み込むファイルが間違っていないかご確認ください。

画像の取り込み(HDR化)

Affinity Photo 2のメニューにある[ファイル]-[新規HDR結合]をクリックします。

表示されたウィンドウにある[追加]ボタンをクリックし、ファイル選択ダイアログボックスで各露出のパノラマ画像全てを選択します。

「自動的に画像を並べる」にチェックします。「ゴーストを自動除去」「ノイズを低減」は必要であればチェックします。「HDRイメージをトーンマッピング」はチェックを外します。設定したら[OK]ボタンをクリックします。

「HDRイメージをトーンマッピング」にチェックした状態で取り込むとトーンマッピングの設定を選ぶことになります。どの設定を選んでも色がハッキリして綺麗ですが、IBL用としてはヒストグラムが不自然な分布になります。あくまで照明用の素材ですので、トーンマッピングは行わず自然な状態にしましょう。

色調補正を行います。現像ペルソナを開き、明るさ、彩度、色温度を調整します。調整したら、最後に[現像]ボタンをクリックしてください。JPEGを読み込んでいる場合、この作業は不要です。

メニューの[フィルター]-[カラー]-[フリンジ除去]でパープルフリンジを消します。

左が処理後。右側の木の幹には、うっすら紫色のにじみがある。これがパープルフリンジと言われるもの。

メニューの[フィルター]-[シャープ]-[アンシャープマスク]で画像を明瞭にします。

シャープネスを上げる方法はいくつかありますが、今回は割愛します。

照明情報の書き込み

メニューの[ウィンドウ]-[32ビットプレビュー]をクリックします。露出のスライダーをマイナス方向に移動し、最後まで明るい場所を探します。明るい場所が今回設定する照明となります。

照明として設定したい場所を自動選択ツールで選択します。選択したら、メニューの[選択]-[滑らかに]で選択範囲を滑らかにします。

選択範囲をコピーし、[ピクセルレイヤーを追加]ボタンで追加したレイヤーに貼り付けます。このレイヤーの描画モードを「追加」に設定します。

「追加」はPhotoshopの加算に相当します。「明るくする」「色を明るくする」でも同じような効果が得られます。

32ビットプレビューの露出を「0」に戻します。

追加したレイヤーを選択した状態で調整タブにある露出の(デフォルト)をクリックします。すると追加したレイヤーの子として「露出調整」が追加されます。他の場所に追加された場合はドラッグ&ドロップで移動してください。

露出調整のアイコンをダブルクリックするとウィンドウが表示されるので、露出スライダーをプラス方向に動かし明るくします。動かす量についてはズバリの数値が無く、撮影環境のイメージに合う影やライトの色となる様にトライアンドエラーで調整していきます。

元々白飛びしている部分であれば見た目に変化はありませんが、カラーピッカーで確認すると数値が1.0を遥かに超えることを確認できます。慣れてくればどれ位の数値に設定すべきか感覚が解ってきますが、基本的にレンダリングしては調整の繰り返しとなります。

HDR結合した素の状態では10未満の値で照明として認識できない。このキャプチャの場合、照明として設定されている箇所は最小でR=80、最大でB=386となっている。

メニューの[ファイル]-[エクスポート]でウィンドウを開きます。一番上にあるコンボボックスで「EXR」を選択し、各種設定を行なってから[エクスポート]ボタンをクリックします。調整、エクスポート、レンダリングを納得出来るまで繰り返して完成です。

影も濃いが、コピー機の蓋が白飛び寸前で夏の日差しが照りつけていた当時を思い出させる。
こちらの写真は曇天なので本来は影が出ないが、説明のために光を強めてみた。右奥から光がさしているのが影の形でわかる。
タイトルとURLをコピーしました