レンダリング時にブーリアン処理をかけるには
https://www.youtube.com/watch?v=rKun_dWMP8Q
MODOには、実際にジオメトリにブーリアン処理をかけてメッシュに穴をあけるのではなく、メッシュを損なうことなくレンダリング時にブーリアン処理をかけるレンダーブーリアンという機能が備わっています。
まずレンダーブーリアン機能をご説明する前に、同様の機能でカメラのクリッピングマップという機能をご紹介します。この機能は、カメラとメッシュとの距離によって、指定した値よりも距離が近い個所にあるメッシュを切り取る機能です。
カメラを選択し、カメラエフェクトのタブからクリッピング面を有効にすると、シーンに読み込まれているサイのメッシュがクリッピング距離で指定したカメラからの距離のところで切り取られているのがわかります。3Dビューで見てみると、実際のメッシュが切り取られているわけではなく、あくまでレンダリング時に切り取られているだけということが確認できます。この断面のマテリアルの設定は、切り取る元のマテリアルの設定が適用されますが、断面だけにマットな質感を割り当てることも可能です。その場合には、マテリアルを選択し、マテリアルレイのプロパティからマットクリッピングオプションをオンにし、マットの色に断面の色を設定してください。
このように中身が詰まったソリッドなメッシュに対しては断面がただ切り取られるだけですが、これが中身がくり抜かれた空洞のメッシュに対しては、さらに効果的に見せることが可能です。サンプルでは中が空洞のメッシュにカバのメッシュが入っていますが、クリッピングの機能を使うことで、中身を見せることができるようになっています。ただし、現状では中に入っているカバも一緒にくり抜かれてしまっています。これを避けるためには、クリッピングの影響を受けさせたくないマテリアルを選択し、マテリアルレイのクリッピングのところにあるサーフェイスクリッピング有効をオフにしておきます。これで外側のメッシュだけが影響を受け、中に入っているカバに対しては問題なく表示できるようになります。
このカメラのクリッピングは、あくまでカメラからの距離に対して、シーン内に存在するメッシュを切り取っていくという機能ですが、メッシュの形状で他のメッシュを切り取るという機能もあります。それがレンダーブーリアンです。
サンプルシーンには三つのメッシュが用意されていますが、手前にある青い円柱で、他の二つのメッシュをくり抜いてみましょう。アイテム追加からVolumesにあるRender Booleanを追加します。レンダーブーリアンのプロパティタブからサーフェイスを使用をオンにし、ボリュームにするサーフェイスからCylinderのメッシュを指定します。これでボックスに対しても球に対しても、円柱でくり抜くことができるようになります。今回はシーン内に存在するメッシュでくり抜くようにしましたが、レンダーブーリアンにはくり抜くメッシュの形状としてプリミティブな形状が用意されています。サーフェイスを使用オプションをオフにすると、パーティクル形状からプリミティブな形状を選べますので、そちらで簡単に指定することも可能です。
このブーリアン機能はあくまでレンダリング時に計算されるものであり、実際のメッシュに対してブーリアン処理を行っているわけではないので、円柱を自由に配置したり、またアニメーションさせたりすることもできます。
レンダーブーリアンで断面のマテリアルを元となるマテリアルと同じにしたい場合には、ローカルシェーダオプションをオフにしてください。オンの場合には、各マテリアルのマテリアルレイタブにあるマットクリッピングにより色を設定することが可能です。また、レンダーブーリアンの影響を受けたくない場合には、サーフェイスクリッピング有効ボタンをオフにしておいてください。
このようにMODOでは、実際のメッシュを操作するのではなく、レンダリング時においてメッシュを切り取ることができる機能が用意されていますので、細かく組み合わされた部品の構造などを説明する場合などに、大変便利に使用することができます。