Worldを環境テクスチャ(EXRファイル&HDRファイル)にする方法
ノードを適用した状態のWorldを画像化して他の場所で使いたい、今作っている背景をそのまま焼き付けて使いたい、といったシチュエーションで有効な手段です。
手順としては、カメラの設定からパノラマ状態にして、EXRファイル、またはHDRファイルとしてレンダリングする、といった感じです。
Eeveeはパノラマに設定することができないので、Cyclesレンダーのみの方法となっております。
前提
・使用ソフト:Blender, Photoshop
・バージョン:4.0
・レンダラー:Cycles
・言語:英語(PSは日本語)
・その他:加えてPhotoshopでの扱い方についても置いときます。
手順0. 確認
一応の確認ですが、やることは普通のレンダリングなので、映ってほしくないものはきちんと非表示にしておきましょう。
上記の通りカメラの設定の関係でEeveeレンダーは使えません。
手順1. カメラの設定
簡単です。
Type → Panoramic(パノラマ状)
Panorama Type→ Equirectangular(正距円筒図)
これだけです。Panorama Typeの中の値はデフォルトで大丈夫です。
手順2. レンダーの設定
1. 解像度の設定
解像度について、自分は少し大きめの8Kで作ってあとから小さくしても問題ないようにしました。
X:8192 px
Y:4096 px
適当にダウンロードしてたHDRIを参考に合わせただけです。
他の解像度はチートシートなんかを活用してみましょう。
Aspect Ratio Cheat Sheet v2(外部リンク)
2. ファイル形式の設定
続いてファイル形式の設定。画像の通りです。
.hdrの場合
EXRではなくHDRで書き出したい方向けです。こちらはそのままの設定で機能しました。
あとは通常通りレンダリングします。
完成
いつも通りEnvironment Texture(環境テクスチャ)ノードから読み込むだけですね。
Blender
Unity
マテリアルを作って、ShaderをSkybox/Panoramicに。HDRのところにimportしたexrファイルを挿し込む。
LightingタブのEnvironmentからSkybox Materialで作ったマテリアルを指定。
Unreal Engine 5
(多分既存のシェーダーが絡んで色濃く見えてると予想)UE5に関してはプラグインが絡んだり、色々設定が必要だったのでまた記事にしたいと思います。
背景オブジェクト込みバージョン
過去に映像で使った背景用の街オブジェクトを適当に並べて書き出してみました。
手前のオブジェクトは新しく設置したものです。
PhotoshopでEXRファイルを扱う時のポイント
4月15日に全体的に編集を加えました。
追記
私のPhotoshopの知識が浅く、保存に関する認識が間違っていました。
別名で保存は再編集可能な状態で保存するもので、
その下のコピーの保存を使うとプラグインなしでもexrファイルで書き出しできるみたいです。
今回の以下のプラグインに関する内容は、再び編集ができる状態として保存したい時に活用できるものです。
素のフォトショはEXRファイルに関してかなり微妙で、
画像の解像度変更や切り取り等以外のレイヤーを重ねるような編集をした場合、
“別名で保存”は多分できないと思われます。
また、レイヤー情報などを正確にEXRファイル内の情報を読み取っているわけではなく、書き出しも不便なため、
Exr-IO(外部リンク)というプラグインを入れて改善します。
このプラグインを導入すると、EXRファイルを読み込んだ時にこんな画面が表示されます。
今回の目的ではいじらなくても問題なかったので、そのままOpenをクリック。
別名で保存を押すと、EXRで(編集可能のまま)保存できるようになっています。
(追記)
コピーを保存を押すと、再び開いた時に編集状態にはなりませんが、EXRだけでなくHDRで書き出すことも可能です。
こちらはプラグインなしで可能です。
参考資料
最後に
今回だいぶ長くなってしまったのですが、その分自分も勉強になりました。
exrは作ることよりもその後の扱いのほうが難しいみたいですね。
本編とは関係ない雑談ですが、最近寒暖差に体が追いつきません。
あと、花見行こうかなと思った前日に土砂降りかまされました。
閲覧頂きありがとうございました。
(追記)
桜無事見れました。最高