Booleanはすごく使い勝手が良いです。
例えば、2つのCubeを少し重ねます。
大きい方のCubeを選択した状態で、Add Modifierから「Boolean」を選びます。
Objectをクリックして、小さい方のCubeを選びます。
Operationを「Difference」にして、Applyをしてみます。
小さいCubeをずらしてみると、大きいCubeが小さいCubeによって変形されているのがわかります。
重なり合っていた分だけ凹んでいますね。
Operationを「Union」にすると、2つのCubeが合わさった形になります。
「Intersect」では、重なった部分だけが残ります。
部屋を作る
Booleanを使って部屋を作ってみます。
片方のCubeを部屋の内積と同じサイズにします。
シーンのプロパティのUnitsで、メートル単位にするとサイズを設定しやすいです。
Unit Scaleを0.01にするとセンチメートル単位にできます。
位置などがセンチメートルやミリメートルで表示されます。
もう一方のCubeを内積のCubeより少し大きなサイズにして、小さいCubeが大きいCubeに完全に含まれるように配置します。
両方のCubeのLocationを0にするのが早いです。
そして、大きいCubeにBooleanを付けて、Operationを「Union」にして、Objectで小さいCubeを選びApplyします。
大きい方のCubeに、部屋の内積分の空洞ができます。
ドアや窓を開ける
ドアを作りたいところで、作りたいドア用の穴の縦横のサイズに合わせたオブジェクトを置いて、Operationを「Difference」に、Objectにドアを設定したBooleanを使います。
これで簡単に壁にドアや窓用の穴を開けられます。
柱を付ける
柱を取り付けてみます。
まずは柱を置きたいところに、Cubeで作った柱を置きます。
柱の先端は少し床や天井を突き抜けています。
しかし外側には出ていません。
部屋のCubeで、Operationを「Union」にしたBooleanを使います。
部屋に柱が付きました。
床や天井に突き出ていた先端部分は作られません。
見えない部分の頂点は作られない方がいいですね。
Overlap Threshold
Overlap Thresholdを設定すると、その長さの範囲内にある面が重なっているとみなされて変形されます。
大きい方のCubeが変形されて、大小のCubeのこちらの面がつながってしまいました。