
blender 4.2 モディファイア 詳説 - Boolean ブーリアン
使用頻度の高いモディファイアから、可能なかぎり、すべてのオプション、機能を整理しています。今回は、オブジェクトに手軽に「穴」を開ける際などによく利用されるブーリアンモディファイアです。
環境 Blender 4.2.0 , Mac Mini M1 OS 14.4
基本
一例として、ほぼ同一の円柱オブジェクトを、2 つ作成し、左の Cylinder オブジェクトに、ブーリアンモディファイアを適用した。

完全に同一だと動作に乱れがあるようなので、わずかに左より大きい。
Operation
双方のオブジェクトの重なり合う部分の処理方法を選択できる。


交差では重なっている部分のみ抽出、合成では双方を足し合わせ、差分では重なった部分を差し引く。ほとんどは差分を用いるだろう。この記事の以降の例も差分を選択している。
合成ではみためは変わらないが、重なった部分は接合され、重複が起こらないように処理される。
Operand Type - 演算対象
ブーリアンの対象を、オブジェクト、あるいは、コレクションに指定できる。


補足
非表示/ワイヤーフレーム
ブーリアンの対象オブジェクトは、上では非表示としていたが、オブジェクトプロパティの「ビューポート表示」からワイヤフレームモードにする方法もある。

対象オブジェクトの移動や効果の確認が容易なので、こちらの方が一般的かもしれない。
対象オブジェクトの細分化
ブーリアン適用後のジオメトリの細かさは、「対象オブジェクト」の細分化によって決まる。ブーリアンを適用しているメインのオブジェクトの細分化は必ずしも必要ではない。

ブーリアンを適用している立方体は、デフォルトのシンプルな 6 面のまま。
適用後の修正
他のアプリへエクスポートするなどの理由で、ブーリアンモディファイアをジオメトリに適用(⌘(Ctrl)+ A)すると、左のように 極端な N-gon(5 辺以上をもつ面)ができるなどトポロジーは荒れる。この場合はリメッシュモディファイアで修正できる場合がある。

形状によっても異なり、かんぜんに正しいジオメトリに修正されることは少ないかもしれないが、ある程度のリカバリは可能だ。
Solver - ソルバー
処理方法の選択。通常のジオメトリのオブジェクトが対象であれば、処理負担の軽い「Fast - 高速」を、面などにたがいに重なり(交差)があったり、閉じていない(平面など)オブジェクトの場合は、負担が重くなることを引き換えに「Exact - 正確」を選択することで、処理の破綻を防ぐことができる。
デフォルトは「正確」だが、複雑なオブジェクトを対象とする場合、やや動作が重くなる傾向があるので、必要がない場合は、「高速」でよいだろう。
Self Intersection - 自分自身と交差
ソルバーが「正確」時に選択可能。下のような格子状のオブジェクト(縦軸と横軸が交差してジオメトリに重なりができている)を、球のオブジェクトでくり抜く場合。


OFF の場合に生じる、交差のあるオブジェクトの破綻を解決できている。
Hole Tolerant - 穴を許容
ソルバーが「正確」時に選択可能。下のような閉じていない球オブジェクトをくり抜きの対象とする場合。


あまり使わない機能かもしれない。面の一部に穴を開けても、可能なかぎり処理を試みるオプションと思われる。
Overlap Threshold - 重複のしきい値
ソルバーが「高速」時に選択可。双方が重なりあっていると判断する距離を調節できる。どうしても期待通りの処理にならない際に有効な場合があるとのこと。通常はデフォルト値以外ではよい結果が得られないようで、効果のある形状を確認できなかった。
Materials
ブーリアンによって生成された面に、異なるマテリアルを適用できる。
Index Based - インデックスベース

Transfer - 転送

補足
正しく設定してもブーリアンが適用されない場合は、オブジェクトのノーマルを疑ってみよう。逆向きの面はブーリアンの対象として認識されない。

赤で表示される面は、編集モードで選択し、メッシュ > ノーマル > 反転 を実行する。
参考
まとめ
手動でモデリングするとしたら頭が痛くなりそうなおもしろい形状をかんたんに生成してくれる便利なモディファイアです。他のアプリへエクスポートする際にはジオメトリの整形にすこし注意が必要ですが、応用範囲も広いでしょう。参考まで。