Bake Wranglerでのベイク処理
買っちゃいましたよ、Bake Wrangler。ノード繋いでベイク処理の設定を行うことができるってツール。
で、早速試すわけですが、とりあえずレンダリング結果を(ある程度)再現するCombinedパスで計算してみようと、以下のツリーの状態で回してみたらですね、出力されてきた画像は真っ黒でした。
これはMac上ではうまく動かない、たまにある症状かって思ったりしたのだけどWindows上でやっても同様。NormalやAOといった要素のベイクは問題なくできているのだけど、CombinedやDiffuseが真っ黒になる。
セッティング方法を間違えていたのが原因でした。Diffuse要素でちゃんと色付きで取得するためには光で照らされる必要があり、光で照らすためにはライトが入ったコレクションを指定する必要がある模様。コレクションにはワールドのマテリアルは含まれないから、それも別途指定してしてあげなければならない。結果、最低限のツリーは下のような感じになるようです。
上のツリーは、下のようなシーンに対して設定したものです。
ライトが入ったコレクションと、Worldマテリアルを指定している。
結果、
こんなオブジェクトは、下のような感じでベイク処理されてきました。
ほっと一息です。
見ての通りこのCubeには3つのマテリアルが設定されており、Blender標準のベイク処理を行おうとするとそれぞれのマテリアルにベイク先のテクスチャの設定をせねばならず面倒です。また、そのベイク先テクスチャの解像度を変えたいと思ったら新たにテクスチャを設定せねばならないし、それで出力された結果はとりあえずはBlender内部に保持されるので、それをファイルとして保存してあげないといけないという何重苦だよってのが、Bake Wranglerを使うことでそうとうに楽になるはずです。まして、一つのオブジェクトから複数のパスのベイク処理を行いとき(PBRマテリアル用の素材を取り出す時とか)、Blender標準機能の内容でやろうとするとげんなりするのが、例えば下図のように組めば、3つのパスを別名のテクスチャとして一回「Bake All」ボタンを押せば一気に回ってくれるようになります。
それぞれの出力テクスチャの解像度を変えたければ、Bake Passノードに独自にPass Settingノードを繋いでやれば良い。
これはだいぶ楽になるというものでしょう。買って損はなかったって思っております。