忘却まとめ

Blenderの中級者・上級者向けの踏み込んだ情報や、アドオン・3DCGに関する情報を記事にします

【Lazy Baker】コレクションごとに一括ベイクするアドオン【Blenderアドオン】

Blenderアドオン

更新日:

ベイクするデータをリスト管理し、様々なベイクタイプで一括ベイクできるアドオンを紹介します。
デノイズやアンチエイリアスなどの細かなベイクオプションや、プレビュー用オブジェクトの作成などの補助機能を実装しています。

ダウンロード

gumroad

Blender Market

メニュー

  • 3Dビュー > Addons > Lazy Baker

メニューは主にベイク設定とコレクションリストに分かれています。

使い方

  • 保存先のファイルパスを設定する
    • 保存したい場所のファイルパスを設定します。
  • ベイクタイプを設定する
    • ほしいパスの種類を選択します。
  • ベイクしたいコレクションをリストに追加する
    • リストにあるコレクションがベイクされます。
    • リストがない場合は、現在の選択オブジェクトをベイクします。
  • [ベイク]を実行する
    • 長時間かかるベイクの場合は、ベイクが終わるまでBlenderは操作不能になります。
    • コンソールウィンドウでログが把握できるので、必ず実行前にコンソールウィンドウを表示してください。

ベイク画像ができたら、[結合用プレビューオブジェクトを作成]からベイクした画像を簡易的に確認することができます。

また、ベイクにかかった時間や各種ステータスが表示されます。
再度ベイクする際の指標にすることができます。

ベイクモード

[自己へベイク]と「ハイポリからローポリへベイク」の2種類があります。

  • 自己へベイク
    オブジェクト自身の情報を元にベイクします。
  • ハイポリからローポリへベイク
    コレクション内のデータを、別のローポリのコレクションへと転写します。
    [コレクション名 + 特殊名]と一致するコレクションを探し、ベイク対象コレクションとし、ベイクを行います。
    このモードになると、押し出し・レイの最大距離オプションのメニューが増えます。

ベイクタイプ

Blender内蔵のベイクタイプに加え、凸部分・位置・複数パスを選択できます。
アイテムのベイクタイプ設定が自動となっている場合は、メインのベイクタイプ設定と同じになります。

凸部分(Pointiness)


凸部分では、ジオメトリノードの凸部分を利用しています。スカルプトモデルなどのディティールを際立たせるパスとして便利です。

カラーランプを利用してコントラストを強くするオプションがあります。

幅(Thickness)

幅では、AOノードの[内側]オプションを利用してメッシュの厚みが薄い部分をベイクします。
例えば、人の耳や鼻に赤みを追加したいマップを取得するのに便利です。

  • 内側
  • ローカルのみ
    • このアドオンではコレクション内のすべてのオブジェクトを結合してレンダリングする仕様のため、コレクション内のオブジェクト同士は影響します。
  • サンプル数
  • 距離
    • 距離が小さいほど狭い範囲になります。

マテリアルID

マテリアル名に基づくランダムカラーをベイクします。
マテリアルごとのマスクを作りたいときに便利です。

マテリアルオーバーライド

ベイク前に対象メッシュのマテリアルを、指定のマテリアルに置き換えます。
ユーザーが作ったマテリアルをベイクに利用することができ、シェーダーノードで作れるあらゆるパスを使うことができます。
ベイクタイプは、マテリアルオーバーライド用のベイクタイプオプションでベイクされます。(Blender内蔵のベイクタイプのみ指定できます)。

ベースカラー・メタリック・アルファ・ソケット名

プリンシプルBSDFノードに繋がっているベースカラーやメタリック・アルファをベイクすることができます。

[ソケット名]オプションでは、プリンシプルBSDFのような様々なソケットから好きなソケットだけを選んで書き出すことができます。

ディフューズベイクタイプで問題が出る場合は、ベースカラーだと正しい結果を得られる場合があります( ディフューズの方ではメタリックなどに影響して結果が変わってしまうため)。

詳細

出力ノードに直接接続されているシェーダーノードの'ソケット名'に接続されているノードもしくはその値をベイクします。
'ソケット名'がないシェーダーとつながっているマテリアルは無視されます。

画像チャンネルにパック

このオプションでは、ベイクではなく画像合成を行います。
他のリストアイテムをRGBAごとに指定し、ベイク結果を画像の各チャンネルにパッキングします。

画像フォーマットは、EXRのみサポートしています

コレクションアイテムのベイクタイプからのみ利用できます。

  • このベイクタイプのアイテムは、他の全てのアイテムがベイクした後に処理されます。
  • 保存ファイル名は、アイテム名となります。

利用するチャンネルの指定

パックに利用する画像の、利用するチャンネルを指定できます。
デフォルトでは、アルファはRGBチャンネル全てを利用し、他のチャンネルでは、RならRなどそれぞれ対応したチャンネルを利用します。

EXRのみをサポート

画像フォーマットは、EXRのみサポートしています。
画像保存時に、画像フォーマットは強制的にEXRとなります。
Blenderの仕様として、他の画像フォーマットではRGBがアルファに影響してしまう問題があるためです。

[複数パス]オプション

同じコレクションで複数のパスをベイクしたいときは複数パスオプションが便利です。
複数のベイクタイプを一括指定することができます。
(その分レンダリングに時間がかかって長時間Blenderが操作できなくなるため、素材ごとに小分けしてベイクした方がいいかもしれません)

ベイクテクスチャ設定

デノイズ

ベイク後にコンポジットノードのデノイズノードを利用して、ノイズを除去します。
ベイクタイプが[結合・AO・影・光沢・伝播・幅]の場合に実行されます。

アンチエイリアス

ベイク後にコンポジットノードのアンチエイリアスノードを利用して、ジャギーを修正します。ジャギーが気になる場合に便利です。

ファイルフォーマットオプション

詳細な画像ファイルのフォーマットを設定できます。
各PNG・JPGなどファイル形式がそれぞれサポートしている設定のみが反映されます。

  • カラーモード BW, RGB, RGBA
  • 色深度 8, 16
  • 圧縮 0~100% (デフォルトで15%)

ファイル名

特殊文字意味
$itemリストアイテム名
(ユーザーが変更しない限りコレクション名と同じです)
$colle登録されているコレクションの名前
$bake_typeベイクタイプ名
$blend.blendファイルのファイル名
$sceneシーン名

$で始まる指定の文字列を設定すると、リストアイテムの名前やコレクション名・ベイクの種類などに置換することができます。

ファイル名はデフォルトでは$item_$bake_type となっています。

コレクションリスト

コレクション内の全オブジェクトを選択

キーマップ機能
Shift拡張選択
Alt選択解除
Ctrl + Altローカルビュー
Ctrl + Alt + Shiftローカルビュー
& 編集モード
& メッシュ全選択
UV確認機能として便利です

選択アイコンから、コレクション内のオブジェクトを全選択することができます。

Ctrl + Alt でローカルビューにすることができ、コレクション内のオブジェクトのみ3Dビューで確認することができます。
Ctrl + Alt + Shiftにより、コレクション内の全オブジェクトのUVが正しく展開されているかすばやくチェックすることができます。

FBX書き出し

コレクションリストのオブジェクトを、コレクションごとにFBXとして一括書き出しすることができます。

オブジェクトを結合オプション

オプションで、コレクションごとにオブジェクトの結合することが可能です。
マテリアルを1つにしたり、マテリアルを除去するオプションがあります。

既知のバグ

  • オブジェクトを結合オプションの1つのマテリアルオプションにて
    • コレクション名と同名のマテアリアルがプロジェクト内にある場合、mat_name.001のように.001が追加されてしまう問題があります。マテリアル名は重複できないため修正できません。

コレクション補助機能

コレクションの一括追加

[全てのシーンコレクションを追加]から、シーンコレクションのルートに配置されている全てのコレクションをリストに追加することができます。
大量のコレクションを一気に追加したいときに便利です。


深い階層のコレクションは追加されません。

選択オブジェクトを追加(新規コレクションにリンク)」機能

選択オブジェクトを新規コレクションにリンクし、そのコレクションをリストに追加します。
コレクションにまとめられていないメッシュをベイクする時に便利です。

Low コレクションを作成機能

リストアイテムのコレクションのLowコレクションを作成し、選択オブジェクトをリンクします。
High to Low モードでのLowコレクションを作成するのに便利です。

プレビュー用結合オブジェクトを作成

ベイク結果を確認できる結合オブジェクトを、アイテムごとに作成します。
コレクションごとにオブジェクトを結合し、ベイク結果画像を割り当てます。
(ベイク結果がない場合は、マテリアルは黒くなります)

その他

パーツ同士の干渉を避ける(オブジェクト同士の間隔を空けるオプション)

各オブジェクトの位置を離すことで、他のパーツの干渉を避けることができます。
ベイク前にオブジェクトの位置を、一時的に変更してからベイクを行います。

注意点

  • 単純に位置を変更するため、位置が影響するモディファイアや親子関係・移動先の位置にある意図しないオブジェクトと重なったりして正しい結果が得られない場合があります。
  • [High to Low]モードの場合は、HighとLowオブジェクトが同じベース名の組み合わせを持っている場合にのみ正しく利用できます。
    • 例 High:"Suzanne"、Low:"Suzanne_low"
  • [AO]パスのようなパーツ同士を干渉させたい場合は、このオプションは不要です。
  • [結合]パスのようなライティングが必要な場合は、このオプションを利用するとライトが正しく影響されません。

細かなオプション

  • 移動する軸
  • 移動量
    • 値が小さいとオブジェクト同士が干渉してしまう場合があります。
    • 干渉してしまう場合は値を大きくしてください。
  • Highの特殊名
    • この特殊名を除去したベース名を利用してLowオブジェクトを検索します。
    • この設定がされていない場合は、Highのオブジェクト名をそのままベース名としてLowオブジェクトを検索します。
  • Lowの特殊名
    • 「ベース名 + 末尾の特殊名」でLowオブジェクトを検索します。

ファイル名でのベイクタイプ名オプション

アドオン設定から、書き出し時のファイル名に含まれるベイクタイプ名を、好きな文字に変更する事ができます。

注意点

長時間かかるベイクの場合は、ベイクが終わるまでBlenderは操作不能になります。
コンソールウィンドウでログが把握できるので、必ず実行前にコンソールウィンドウを表示してください。
処理中のアイテム/全アイテム数・所要時間・保存先などを把握できます(リアルタイムの経過時間は表示できません)。
全ベイクが完了すると、コレクションリストにも各アイテムごとの所要時間が保存されます。

コンソールにでCtrl + Cを押すとベイク処理を強制終了できます。

結合は最後にベイクする

結合はライティングが影響するため、他より処理が重いです。
ディフューズやノーマルなどからレンダリングすると楽かもしれません。

本番前に低解像度ベイクでテストすること

アドオンでは大量一括レンダリングを行うことができますが、途中で失敗すると時間的ロスが大きいです。

そのため、まず結合以外のディフューズなどのベイクタイプ・256pxなどで1度ベイクしてみてください。
他のコレクションと比べて過剰に時間がかかりすぎていないか、ベイク結果が正しいかを確認してから本番ベイクを実行すると効率的です。

1度ベイクした後は、リストから過去のベイクステータスを把握することができます。
異様にベイク時間がかかる場合は、過剰にメッシュが多かったり、UVが正しく展開されていないなどの問題があるコレクションの可能性があります。

ベイク画像を一括デノイズ

Lazy Image Denoiserアドオンでは、Blenderのコンポジットエディターのデノイズノードを利用して、複数の画像からノイズを一括除去することができます。

大量のレンダリング済み画像やベイク画像のノイズを除去するのに便利です。

アップデート履歴

ver1.0.21 古いBlenderのバージョンで有効化できない問題を修正

2022-02-15

古いBlenderのバージョンで有効化できない問題を修正しました。
このアドオンは古いBlenderのバージョンでも機能しますが、最新安定バージョンを対象にサポートします。

コンポジットによるベイク画像の調整機能はBlender内臓のノードを利用するため、古いバージョンではサポートされていないものがあります。

  • デノイズ機能は、Blender2.81以降で利用できます。
  • アンチエイリアス機能は、Blender2.93以降で利用できます。

ver1.0.2 選択オブジェクトをすぐにベイクできるように

2022-02-12

コレクションリストを利用しない場合でも、手軽にベイクできるようにしました。

  • "選択オブジェクトのみ"オプションを追加しました。
    • コレクションリストのアイテムを利用せず、常に選択オブジェクトのみをベイクします。
    • このオプションを利用しない場合でも、コレクションリストがない場合は選択オブジェクトをベイクするようにしました。
  • サンプル数のデフォルトを32にしました。
  • サンプル数の値を、右の○ボタンから倍/半分に調整できるようにしました。

ver1.0.1

2021-11-14

ver1.0.0

2021-11-11

Lazy Bakerアドオンを作成。

アドオンの制作依頼はこちら

-Blenderアドオン

Copyright© 忘却まとめ , 2022 All Rights Reserved Powered by STINGER.