Blenderのモディファイアーの1つに、ブーリアンという機能があります。
ブーリアンを使えば、立方体のメッシュをくりぬいたり、オブジェクト同士が重なる部分だけを残したりできます。
この記事では、ブーリアンモディファイアーの使い方と、使えない時の対処法を解説します。
ブーリアンとは
ブーリアンモディファイアーとは、ブーリアン演算という手法を用い、複数のメッシュオブジェクトから、1つのメッシュオブジェクトを作る機能です。
交差、合成、差分の3つの機能があります。
オブジェクトを集合と捉えて、集合演算をする方法です。Blenderでは、
集合の積→交差
集合の和→合成
集合の差→差分
に対応します。
立方体に円柱を重ねた場合で試してみます。
交差
交差は、オブジェクト同士が重なる部分だけを1つのメッシュオブジェクトにする機能です。
上の画像では、立方体と円柱が重なる場所だけが1つのオブジェクトになっています。
合成
合成は、いずれかのオブジェクトが存在する部分を1つのメッシュオブジェクトにします。
差分
差分は、オブジェクト同士が重なっていない部分を1つのオブジェクトにします。
下の画像では、見やすいように、円柱は非表示にしました。
各要素の説明
ここからは、モディファイアープロパティの各要素について、知っておくと便利そうな箇所に絞って説明します。
①編集モード
編集モード中にモディファイアーを表示するか選べます。「あれ? モディファイアーが機能していないぞ」と思った時には、ここがオフになっていないか確認してみてください。
②演算対象
演算対象をオブジェクトにするか、コレクションにするかを選択できます。複数のオブジェクトに対して一度でブーリアンを適用する場合にはコレクションの方が便利です。
- オブジェクトモードの状態で、コレクションにしたいオブジェクトを全て選択
- Mキーを押し、「新規コレクション」を選択
- コレクションに名前を付ければ完成
③オブジェクト(またはコレクション)
ここは、演算対象をオブジェクトにしていれば「オブジェクト」、演算対象をコレクションにしていれば「コレクション」と表示されます。
どのオブジェクト(もしくはコレクション)を演算の対象にするか選択できます。
④ソルバー
ソルバー(Solver)とは、ブーリアン交差の計算に使われるアルゴリズムです。「正確」と「高速」の、異なる計算方法が使えます。
正確……正確に計算できますが、複雑なアルゴリズムを使うので処理が遅くなります。
高速……正確さは劣るものの、速く計算できます。
参考:blender 4.1マニュアル Boolean(ブーリアン)モディファイアー — Blender Manual
何かが欲しけりゃ何かを代償にしなさいってことみたいですね。
ブーリアンモディファイアーの結果を反映させる方法
ブーリアンモディファイアーの結果をオブジェクトに反映させるには、モディファイアーを適用する必要があります。
- オブジェクトモードに変更する
- モディファイアープロパティにある、下矢印のマークをクリックする
- 出てくるタブから「適用」を選択する
これで、オブジェクトに対しモディファイアーの結果を反映させることができます。
ただし、モディファイアーを適用してしまうと、適用していない状態に戻すことはできない点に注意が必要です。
ブーリアンが使えない場合の確認事項
1.「編集モード中にモディファイアーを表示」はオンになっているか
モディファイアープロパティで「編集モード中にモディファイアーを表示」がオフになっていると、編集モードではモディファイアーがかかっているかを確認できません。
オブジェクトモードにするか、「編集モード中にモディファイアーを表示」をオンにすれば、モディファイアーのかかり方を確認できます。
2.オブジェクトは分けておく
ブーリアンモディファイアー自体、異なるオブジェクトに対してブーリアン演算を行う機能なので、当然といえば当然のことかもしれませんが……。自分自身、これが原因でブーリアンが使えていないことがあったので、念のため掲載します。
下の画像は、円柱と立方体を同じオブジェクトにした場合です。この状態で演算対象にするオブジェクトを選ぼうとしても、何も表示されません。
編集モードの状態でメッシュを追加すると、同じオブジェクトとして認識されてしまいます。メッシュを追加する時は、オブジェクトモードになっているかを確認しておくと良いのではと思います。
3.くりぬかれるのは、モディファイアーがかかっているオブジェクト
差分を使う時の注意点です。先ほどの画像のように、立方体メッシュを円柱でくりぬきたい場合などは、くりぬくメッシュ(この場合は立方体メッシュ)にブーリアンをかける必要があります。
円柱にブーリアンをかける訳ではない点に注意が必要です。
4.重複のしきい値を変えてみる(ソルバーに「高速」を使っている場合)
自分自身はこの方法で解決した場面に出会ったことはありませんが、blenderのマニュアルに載っているので、参考として掲載しています。
「重複のしきい値」とは、どの程度面同士が近ければ重なっていると考えるかの値です。
参考:blender 4.1マニュアル)Boolean(ブーリアン)モディファイアー — Blender Manual
ソルバーに「高速」を使いたい場合で、ブーリアンがうまくかからない時に考慮するといいかもしれません。
その他、ソルバーの設定を「高速」や「正確」に変えると、うまく行く場合もありました。