くり抜ける!擬似集合演算(擬似ブーリアン演算) | Shade 一日一時間

くり抜ける!擬似集合演算(擬似ブーリアン演算)

はい~ちょっとブログの更新がおっくうになってしまいました。
生活のリズムの中に、やっと馴染みかけていたのに、、、ヤバイヤバイ。
なかなか継続して時間を空けるのは難しいですね。

今回も1時間さわりました~。
今回は、やっとオブジェクト同士を足したりくり抜いたり出来るようになりました。

以前から、イラストレータのパスファインダのようにオブジェクトを足したりくり抜いたりしたいと思っていたのですが、あの10年前に買っていた本「Shadeの達人」に書いてありましたよ!

その名も擬似集合演算(擬似ブーリアン演算)!

これも、もちろんShadeを使える人にとっては当たり前の機能だと思いますが、オブジェクト同士をガッチンコさせたりするのを集合演算(ブーリアン演算)というらしいのですが、元のオブジェクトの形は変えずにレンダリング時のみ反映させるので、"擬似"集合演算なんだそうです。

まあ、百聞は一見にしかずという事で、、、、


Shade 一日一時間-球2つの1

このように球を2つ用意しました。これは上面図です。
ちなみに、シェーディング表示した透視図とブラウザウインドウはこんな感じです。

Shade 一日一時間-球2つの2

Shade 一日一時間-球2つの3

ここまでは何も変わった事はありません。
ところが、ブラウザウインドウにある2つの球の一つ(透視図では右側)の名前を
「球」から「-球」に変えると…!


Shade 一日一時間-球2つの4

作業画面ではそのままですが、レンダリングすると見事に切り取られました~。
卵のカラを、スパッ!と切った感じですね~。
ブラウザウインドウのオブジェクト名の手前に「 - (半角のマイナス)」をつけるだけ。
めちゃ簡単です。


で、この擬似集合演算ですが切り取る以外にも色々あります。
名前の手前に「 $ (半角のドルマーク)」を入れる事で、オブジェクト同士の交わった部分のみを残す事ができます。今回の球が2つの場合で見てみると、、、、


Shade 一日一時間-球2つの5

こんな感じ。レンダリングすると「球が重なった部分」しか出てきません。


まだまだあります!
名前の手前に「 * (アスタリスク)」を入れる事で、オブジェクトを削る事ができます。
結果を見てみましょう。

Shade 一日一時間-球2つの6

「-(マイナス)」をつけた場合と違いが分かりにくいですかね、、、^^;
ちょっと、角度とか変えてみたんですが、それでも分かりにくいですね。

マイナスの場合は、スパッと切ってしまい中身が見えてしまっているのですが、このアスタリスクをつけた方は、石を削ったような、、押し当てたような結果になり、中身は見えていません。


次に
名前の手前に「 \ (半角の円マーク)」を入れる事で、オブジェクトをくっつける事ができます。
これは、この球2つだけでは説明がしづらいので別のオブジェクトを用意する事にしました。


Shade 一日一時間-ブーリアン7

球が2つと、円を掃引体にして出来た円柱です。図は上面図です。
ちなみにこれもシェーディング表示の透視図とブラウザウインドウを載せておきます。


Shade 一日一時間-ブーリアン8

Shade 一日一時間-ブーリアン9

これも特に変わった所は無いのですが、まず円柱(円の掃引体)にマイナスをつけて、レンダリングしてみます。

Shade 一日一時間-ブーリアン10

2つの球に対して、マイナスをつけた円柱が通っているので、こんな感じになります。
球を、わかりやすいように「球A」「球B」と呼ぶとして、
手前から、球Aの表 → 球Bの表 → 球Aの裏 → 球Bの裏 が見えています。



でも、球の片方の名前に「 \ (半角の円マーク)」をつけてからレンダリングすると、、、

Shade 一日一時間-ブーリアン11

このようになります。
円柱の形に、切り取られるのですが、2つの球は合体しているので、切り取られた内部が違います。


、、、、違い、感じていただけたでしょうか?(笑)



そんな感じで、ブラウザウインドウの名前を変えるだけで簡単に、切り抜いたり、くり抜いたり、合体する事ができます。
また、他の要素に左右されたくないオブジェクトには「 ! (半角のびっくりマーク)」をつけると、影響をうけないそうです。



ぜひお試しを!



=============================
ブラウザウインドウのオブジェクト名の手前につける記号と役割
(オブジェクトそのもの、または複数格納したパートにも可能)

- (半角のマイナス)
自オブジェクトはレンダリングされない。
オブジェクトの形で、重なった他のオブジェクトを切り取る。切り取られるので、内部丸見え。

$ (半角のドルマーク)
自オブジェクトはレンダリングされる。
オブジェクトと、他のオブジェクトの「重なっている部分だけ」をオブジェクトとしてレンダリングする。

* (半角のアスタリスク)
自オブジェクトはレンダリングされない。
オブジェクトの形で、重なった他のオブジェクトをえぐり取る。
石をけずる、押し当ててヘコませる感覚なので、えぐり取られるオブジェクトの内部は見えない。

\ (半角の円マーク)
自オブジェクトはレンダリングされる。
他オブジェクトと「一つの物体」として認識させる。重なり合った部分の詳細は合体した時に無くなっているので、表面を切り取って内部を見ると、表面の形どおりの内部になっている。

! (半角のびっくりマーク)
自オブジェクトはレンダリングされる。
他の擬似集合演算に影響されたくない場合に使い、自オブジェクトに影響を与えるはずの、-(マイナス)や *(アスタリスク)の効果を打ち消します。