忘却まとめ

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

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

Blenderアドオン

更新日:

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

ダウンロード

gumroad

Blender Market

BOOTH

メニュー

  • 3Dビュー > Addons > Lazy Baker

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

使い方

ベイクするグループごとにコレクション分けし、そのコレクションをリストメニューで管理することで効率的なベイクを行います。
リストアイテムごとにベイクタイプの設定や、個別にベイクしたり、マテリアルのセットアップを行うことができます。
また、このリストアイテムを全て一括してベイクすることができます。

最初の設定

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

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

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

ベイクモード

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

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

ベイク済み画像でマテリアルをセットアップ

ベイク済み画像を使って、マテリアルを自動セットアップします。
ベイクした画像をパスごとに適した質感ですぐさま確認できます。

リスト内のベイク済み画像を使って、マテリアルをセットアップする機能を追加しました。

プリンシプルBSDFを元にしたノードグループのソケットに、対応した各パス画像を接続します。
リスト内にあるコレクションごとに結合オブジェクトを作って、作成したマテリアルを割り当てします(デフォルトの場合)。

ノードグループのソケット

上のソケットでは、ベイク画像の接続先です。
下のソケットでは、いくつかのパラメーターを調整できます。

    • 影をミックスする強度を調整します。
  • AO
    • AOをミックスする強度を調整します。
  • 結合
    • プリンシプルBSDFを無視して、放射BSDFと同じように、結合画像のみを出力します。
    • 通常では使用しません。
  • ノーマル
    • ノーマルマップの強さを調整できます。

オプション

  • 対象コレクション
    • 指定のコレクション名:指定のコレクションを持つリストアイテムの画像を元にマテリアルを作成します。
    • 全て:各コレクションごとにマテリアルを作成します。
  • 対象オブジェクトタイプ
    • 作成:コレクションの結合オブジェクトの作成と割り当てをします。
    • 選択:選択オブジェクトに割り当てします。
    • 割り当てなし:マテリアルを割り当てせずに、マテリアル作成のみを行います。
  • ブレンドモード
    • アルファのブレンドモードを設定します。
    • アルファパスを利用している場合に利用してください。

仕様

ベイクされていないアイテム・ベイク済み画像が見つからない場合は、セットアップされません。
下記のベイクタイプは、セットアップでは非サポートであり、ノードには配置されますが、接続はされません。

  • UV
  • 環境
  • 光沢
  • 凸部分
  • 位置
  • マテリアルID
  • マテリアルオーバーライド
  • 対象のソケット名
  • 複数パス

ベイクタイプ

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コレクションを作成するのに便利です。

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

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

その他

リストを使用せずに選択オブジェクトをベイクする

[選択オブジェクトをベイク]ボタンでは、コレクションリストを使用せずに、選択オブジェクトでベイクします。

  • [Bake to Self]の場合、選択オブジェクト自身にベイクします。
  • [High to Low]モードの場合、アクティブオブジェクトを[Low]、それ以外の選択オブジェクトを[High]として扱います。

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

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

注意点

  • 単純に位置を変更するため、位置が影響するモディファイアや親子関係・移動先の位置にある意図しないオブジェクトと重なったりして正しい結果が得られない場合があります。
  • [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のコンポジットエディターのデノイズノードを利用して、複数の画像からノイズを一括除去することができます。

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

アップデート履歴

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

-Blenderアドオン

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